convertでdatetime型を文字列型に変換するときによく使うstyle
SQLServerでdatetime型からvarchar型に型変換を行うときに、convert関数を使うが、単純に
convert(varchar,getdate())
とすると出力結果は
2012-07-23 22:13:12
という出力になってまう。
convert関数の構文は以下。(CAST および CONVERT (Transact-SQL)より)
Syntax for CONVERT: CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
第三引数のstyleでフォーマットを指定する。
このstyleの値が数値なのだが、よく使うものをまとめておく。
styleの値 |
フォーマット |
出力例 |
---|---|---|
111 |
yyyy/MM/dd |
2012/07/23 |
112 |
yyyyMMdd |
20120723 |
108 |
hh:mm:ss |
15:18:05 |
以下、使用例。
-- [1] yyyy/MM/dd形式 -- [出力結果] 2012/07/23 select convert(varchar,getdate(),111) -- [2] yyyyMMdd形式 -- [出力結果] 20120723 select convert(varchar,getdate(),112) -- [3] hh:mm:dd形式 -- [出力結果] 15:18:05 select convert(varchar,getdate(),108) -- [4] (応用)hh:mm形式 -- [出力結果] 15:18 select LEFT(convert(varchar,getdate(),108),5)