小佐野 (2010年10月 5日 16:37) 流通システム部 / SQLServer
-- 111 = yyyy/MM/dd形式 SELECT CONVERT(NVARCHAR, GETDATE(), 111)
SELECT dbo.uf_COMDateFormat(GETDATE(),'yyyy年MM月dd日')
SELECT dbo.uf_COMDateParse('2010年09月28日','yyyy年MM月dd日')
【SQLServer】日付を自由にフォーマットする
小佐野 (2010年10月 5日 16:37)
流通システム部 / SQLServer
SQLServerで日付のフォーマットを行う場合、 たとえば日付を「yyyy/MM/dd」の形式にフォーマットする場合を例に挙げると、通常であれば次のようなコードを書くと思います。 上記のようなコードで目的は実現出来ますが、
CONVERT関数の第3引数で指定できないようなフォーマットを行う場合、 独自にコードを書かなければなりません。(例えば、yyyy年MM月dd日など)
それはあまりにも不便なので、フォーマット処理を関数化してみました。
日付を指定したフォーマットで文字列に変換する関数と、
文字列を指定したフォーマットで日付に変換する関数の2つを作成しました。
以下は、ソースです。
uf_COMDateFormat.txt
uf_COMDateParse.txt
一応、使い方を載せておきます。
日付→文字列 文字列→日付
SELECT dbo.uf_COMDateParse('2010年09月28日','yyyy年MM月dd日')これで、自由に日付のフォーマットを行うことができますね。