SQL Serverで日付型を文字列に変換する

日付型を文字列に変換する場合、VBではFORMAT関数、JAVAではToStringメソッドでyyyyMMddのような日付書式を指定して変換しますが、SQL Serverでは日付書式を指定した文字列への変換ができません。
そこで、SQL Serverで日付型を文字列に変換する方法を紹介します。

CONVERT関数

SQL Serverで日付型を文字列に変換するにはCONVERT関数を使用します。

コーディング例

CONVERT関数の第1引数には変換先のデータ型を指定しますので「VARCHAR」を指定しています。
第2引数には変換元の値を指定しますので、DATETIME型の変数「@DATE」を指定しています。
第3引数には変換するスタイルを指定します。スタイルはあらかじめ決められた値を指定します。

実行結果

Style 日付
100 01 2 2019 3:04AM
101 01/02/2019
102 2019.01.02
103 02/01/2019
104 02.01.2019
105 02-01-2019
106 02 01 2019
107 01 02, 2019
108 03:04:05
109 01 2 2019 3:04:05:677AM
110 01-02-2019
111 2019/01/02
112 20190102
113 02 01 2019 03:04:05:677
114 03:04:05:677
120 2019-01-02 03:04:05
121 2019-01-02 03:04:05.677
126 2019-01-02T03:04:05.677
127 2019-01-02T03:04:05.677
Style 日付
0 01 2 2019 3:04AM
1 01/02/19
2 19.01.02
3 02/01/19
4 02.01.19
5 02-01-19
6 02 01 19
7 01 02, 19
8 03:04:05
9 01 2 2019 3:04:05:677AM
10 01-02-19
11 19/01/02
12 190102
13 02 01 2019 03:04:05:677
14 03:04:05:677
20 2019-01-02 03:04:05
21 2019-01-02 03:04:05.677

一般的によく使われるスタイルは「102」「111」「121」あたりでしょうか。
スタイルを100未満にすると西暦2桁になるようです。

以上、「SQL Serverで日付型を文字列に変換する」でした。

注意!!

SQL Server 2017以降ではFORMAT関数が使用できるようになりました。