SQL Serverのみを用いて日付のフォーマットを選んで表示させたい
という事があります。
こんな時にはCONVERT関数を利用すれば解決します。
SELECT CONVERT(VARCHAR,GETDATE(),111) AS [/区切り]
, CONVERT(VARCHAR,GETDATE(),120) AS [-区切り]
, CONVERT(VARCHAR,GETDATE(),112) AS [YYYYMMDD形式]
それぞれ表示は以下のようになります
CONVERT(VARCHAR,GETDATE(),111) ⇒ 2007/08/01
CONVERT(VARCHAR,GETDATE(),120) ⇒ 2007-08-01 22:55:56
CONVERT(VARCHAR,GETDATE(),112) ⇒ 20070801
また3桁の部分の頭の1を取ると以下のようになります
CONVERT(VARCHAR,GETDATE(),11) ⇒ 07/08/01
CONVERT(VARCHAR,GETDATE(),20) ⇒ 07-08-01 22:55:56
CONVERT(VARCHAR,GETDATE(),12) ⇒ 070801
初めてSQL Serverを触る人にとって最初につまずくのがCONVERT関数の日付フォーマットだと思います。
是非ともマスターしてください。