Oracleで、テーブルにカラムを追加するときは
①tempをつくる
②旧定義テーブルのドロップ
③新定義テーブル作成
④tempから新定義へinsert
⑤tempドロップ

の5ステップですが、
このとき①でtempを作るときに使うクエリは
create table XXX' as select * XXX
ですが、
SQLserverは as がないようで、使えませんでした。

ネットで調べたところ、

SELECT *
INTO [dbo].[temp_limit_term]
FROM [dbo].[limit_term]

で同じことが出来ると判明。

便利なのでメモ。
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音順に並べたいなら、取得したあとでソートし直してもいい気がするし。

うまい使い方あるんでしょうかね。