2016-02-24
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))