トップ回答者
照合順序と"-"(半角ハイフン)について

質問
-
SQL Server 2008 で既定の照合順序(Japanese_CI_AS)を使用していますが、
"-"(半角ハイフン)を含む文字の並べ替えについて質問させて頂きます。以下のデータがある場合に、SELECT文で①と③が連続して返されるようにすることは可能でしょうか?
CREATE TABLE #TmpTable (col1 VARCHAR(3)) INSERT INTO #TmpTable (col1) VALUES ('ア-カ') --① INSERT INTO #TmpTable (col1) VALUES ('アキ') --② INSERT INTO #TmpTable (col1) VALUES ('ア-ク') --③ INSERT INTO #TmpTable (col1) VALUES ('アケ') --④ SELECT * FROM #TmpTable ORDER BY col1 DROP TABLE #TmpTable
①と③の2文字目は半角ハイフンです。
この半角ハイフンを"ー"(半角長音)とした場合は、①③②④の順で返されますが、
上の場合は、①②③④の順で返されます。半角ハイフンでも半角長音でも同じ結果が返されればベストなのですが、
少なくとも半角ハイフンでも①と③が連続するように、
照合順序の設定等でできればと思っています。よろしくお願いします。
回答
-
こんにちは。
照合順序 "Japanese_BIN" により、 MMTRS さんの期待通りの結果になることを確認しました。----------------------------------------
SELECT * FROM #TmpTable ORDER BY col1col1
----
ア-カ
ア-ク
アキ
アケ(4 行処理されました)
----------------------------------------もし、サーバーの照合順序を変更することについて抵抗があるようであれば、
以下のように該当のテーブルのみ、列の照合順序を変更されてみてはいかがでしょうか?create table #TmpTable (col1 varchar(3) collate Japanese_BIN)
参考情報
- 列の照合順序の設定と変更
<http://msdn.microsoft.com/ja-jp/library/ms190920.aspx>- 回答としてマーク MMTRS 2011年3月14日 5:33
すべての返信
-
こんにちは。
照合順序 "Japanese_BIN" により、 MMTRS さんの期待通りの結果になることを確認しました。----------------------------------------
SELECT * FROM #TmpTable ORDER BY col1col1
----
ア-カ
ア-ク
アキ
アケ(4 行処理されました)
----------------------------------------もし、サーバーの照合順序を変更することについて抵抗があるようであれば、
以下のように該当のテーブルのみ、列の照合順序を変更されてみてはいかがでしょうか?create table #TmpTable (col1 varchar(3) collate Japanese_BIN)
参考情報
- 列の照合順序の設定と変更
<http://msdn.microsoft.com/ja-jp/library/ms190920.aspx>- 回答としてマーク MMTRS 2011年3月14日 5:33