SQLServer覚書 8桁数値を日付表示に

さて、最近くだらないことをまじめに書いているので、久しぶりに技術的なことを軽くメモ書きしておこう。

8桁数値を日付(yyyy/mm/dd)表示にする方法

SELECT CONVERT(varchar,CONVERT(datetime, CONVERT(varchar,20160223), 112),111)

1つ目(内側から)は文字列に変換、2つ目のCONVERTではDATETIME型に変換するので、出力としては「2016/02/23 0:00:00」というように日付と時間で出力される。
これを「yyyy/mm/dd」形式の文字列で出力させるために3つ目(一番外側)のCONVERTを用意。

これとは逆に日付を8桁数値に変える場合は、データを「yyyymmdd」の文字列で出力した後、INT(またはNUMERIC)型に変えてしまえばよい。

SELECT CONVERT(int,CONVERT(varchar, '2016-2-14', 112))

Add a Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください