SQLServerのクエリでカラムをスプリットしたい場合は、CHARINDEX関数とSUBSTRING関数を組み合わせて使う。
対象テーブル A
B |
---|
1 2 3 4 |
1234 |
クエリ
select * from A;
select charindex(' ', B) from A;
select case when charindex(' ', B) = 0 then B else substring(B, 1, charindex(' ', B)) end from A;
結果
B -------------------------------------------------- 1 2 3 4 1234 (2 件処理されました) ----------- 2 0 (2 件処理されました) -------------------------------------------------- 1 1234 (2 件処理されました)
他の文字列操作関数は 文字列関数 (Transact-SQL)で参照できる。
2件のコメント
koreyasu · 2007-05-30 04:15
さすがに複数個には分割できないか(笑
squld · 2007-05-30 09:31
substringした右辺をさらにcharindex & substringすればできるだろうけど、区切り文字が足りない場合を考慮すると、恐ろしいクエリになりそうだ・・・。
現在コメントは受け付けていません。