- 前ページ
- 次ページ
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]
で同じことが出来ると判明。
便利なのでメモ。
①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音順に並べたいなら、取得したあとでソートし直してもいい気がするし。
うまい使い方あるんでしょうかね。
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音順に並べたいなら、取得したあとでソートし直してもいい気がするし。
うまい使い方あるんでしょうかね。