SQL Serverで、文字列を文字コード順以外の順序で並べたいときに使うコマンド。
eg.
SELECT column_a from table_1 order by column_a COLLATE JAPANESE_BIN
※JAPANESE_BIN のところには任意の照合順序を入れる。
Oracleだったら、NLSSORTを使う。
eg.
SELECT column_a from table_1 order by NLSSORT(column_a,'NLS_SORT=Japanese')
※Japanese のところには任意の照合順序を入れる
このコマンドで、
A
AA
B
BB
あ
い
ア
イ
が
A
B
AA
BB
あ
ア
い
イ
の様に
アルファベット順や50音順など、任意の照合順序でソートされた形で取得できるようになる。
でも、
今まで見た中ではあまり活用されていない。
コードに対してcreate table時にCOLLATE指定をしていたりして、
意味のある使い方はされていない。
データを50音順に並べたいなら、取得したあとでソートし直してもいい気がするし。
うまい使い方あるんでしょうかね。
eg.
SELECT column_a from table_1 order by column_a COLLATE JAPANESE_BIN
※JAPANESE_BIN のところには任意の照合順序を入れる。
Oracleだったら、NLSSORTを使う。
eg.
SELECT column_a from table_1 order by NLSSORT(column_a,'NLS_SORT=Japanese')
※Japanese のところには任意の照合順序を入れる
このコマンドで、
A
AA
B
BB
あ
い
ア
イ
が
A
B
AA
BB
あ
ア
い
イ
の様に
アルファベット順や50音順など、任意の照合順序でソートされた形で取得できるようになる。
でも、
今まで見た中ではあまり活用されていない。
コードに対してcreate table時にCOLLATE指定をしていたりして、
意味のある使い方はされていない。
データを50音順に並べたいなら、取得したあとでソートし直してもいい気がするし。
うまい使い方あるんでしょうかね。