木曜日, 10月 19, 2006
[SQL関連]文字列操作
▼質問
テーブルでDATE型でない年(YEAR)月(MONTH)日(DAY)が別々で存在するフィールドがあるんだ。
これを連結してDATE型に変換したいんだ。
SQL文で文字列を連結するにはどうしたらいいの?
▼回答
文字列の結合には2種類があるようだ。
String1、String2には、文字列型のフィールドを指定するかシングルコーテイション''で文字列を
指定する。
①普通の連結:引数を単純に連結する。
CONCAT(String1, String2, ...)
②特殊な連結:第1引数のseparator(セパレータ:区切り文字)で以降の引数を連結する。
CONCAT_WS(separator, String1, String2, ...)
②CONCAT_WSは、oracleは使えないみたい。MySqlだけなの?
オラクルでこうするとできるようだ。
to_date(YEAR || '.' || MONTH || '.'|| DAY || ' 00:00:00', 'yyyy.mm.dd hh24:mi:ss')
■参考サイト
【SMART! ウェブ講座】~文字列関数
http://www.rfs.jp/sb/sql/03/02.html
テーブルでDATE型でない年(YEAR)月(MONTH)日(DAY)が別々で存在するフィールドがあるんだ。
これを連結してDATE型に変換したいんだ。
SQL文で文字列を連結するにはどうしたらいいの?
▼回答
文字列の結合には2種類があるようだ。
String1、String2には、文字列型のフィールドを指定するかシングルコーテイション''で文字列を
指定する。
①普通の連結:引数を単純に連結する。
CONCAT(String1, String2, ...)
②特殊な連結:第1引数のseparator(セパレータ:区切り文字)で以降の引数を連結する。
CONCAT_WS(separator, String1, String2, ...)
②CONCAT_WSは、oracleは使えないみたい。MySqlだけなの?
オラクルでこうするとできるようだ。
to_date(YEAR || '.' || MONTH || '.'|| DAY || ' 00:00:00', 'yyyy.mm.dd hh24:mi:ss')
■参考サイト
【SMART! ウェブ講座】~文字列関数
http://www.rfs.jp/sb/sql/03/02.html