MS-SQL / SQL Server
日時(DateTime)を文字列に変換する方法
Datetime型のデータを文字列に変換する時にフォーマットを指定して変換することができます。
下記の5つのSQLを準備しましたので、確認してみましょう。
下記のSQL結果は2013年9月25日に実行した得られたデータですので、
皆さんとデータのフォーマットは違いませんが、日付は違いますので、
ご参考ください。
SELECT CONVERT(VARCHAR(20), GETDATE())
実行結果
SELECT CONVERT(VARCHAR(20), GETDATE(), 11)
実行結果
SELECT CONVERT(VARCHAR(20), GETDATE(), 111)
実行結果
SELECT CONVERT(VARCHAR(20), GETDATE(), 112)
実行結果
SELECT CONVERT(VARCHAR(20), GETDATE(), 120)
実行結果
データのフォーマット関連情報は下記の表を参考してください。
2 桁の年 (yy) (1) | 4 桁の年 (yyyy) | 標準 | 入力/出力 (3) |
---|
- | 0 または100 (1、2) | 既定値 | mon dd yyyy hh:miAM (または PM) |
1 | 101 | 米国 | 1 = mm/dd/yy 101 = mm/dd/yyyy |
2 | 102 | ANSI | 2 = yy.mm.dd 102 = yyyy.mm.dd |
3 | 103 | イギリス/フランス | 3 = dd/mm/yy 103 = dd/mm/yyyy |
4 | 104 | ドイツ | 4 = dd.mm.yy 104 = dd.mm.yyyy |
5 | 105 | イタリア | 5 = dd-mm-yy 105 = dd-mm-yyyy |
6 | 106 (1) | - | 6 = dd mon yy 106 = dd mon yyyy |
7 | 107 (1) | - | 7 = Mon dd, yy 107 = Mon dd, yyyy |
8 | 108 | - | hh:mi:ss |
- | 9 または109 (1、2) | 既定値 + ミリ秒 | mon dd yyyy hh:mi:ss:mmmAM (または PM) |
10 | 110 | USA | 10 = mm-dd-yy 110 = mm-dd-yyyy |
11 | 111 | 日本 | 11 = yy/mm/dd 111 = yyyy/mm/dd |
12 | 112 | ISO | 12 = yymmdd 112 = yyyymmdd |
- | 13 または113 (1、2) | ヨーロッパの既定値 + ミリ秒 | dd mon yyyy hh:mi:ss:mmm(24h) |
14 | 114 | - | hh:mi:ss:mmm(24h) |
- | 20 または120 (2) | ODBC 標準 | yyyy-mm-dd hh:mi:ss(24h) |
- | 21 または121 (2) | ODBC 標準 (ミリ秒を含む) | yyyy-mm-dd hh:mi:ss.mmm(24h) |
- | 126 (4) | ISO 8601 | yyyy-mm-ddThh:mi:ss.mmm (スペースなし) 注 |
---|
ミリ秒 (mmm) の値が 0 の場合、ミリ秒の値は表示されません。 たとえば、値 '2012-11-07T18:26:20.000' は、'2012-11-07T18:26:20' と表示されます。 |
|
- | 127(6, 7) | ISO 8601 (タイム ゾーン Z) | yyyy-mm-ddThh:mi:ss.mmmZ (スペースなし) 注 |
---|
ミリ秒 (mmm) の値が 0 の場合、ミリ秒の値は表示されません。 たとえば、値 '2012-11-07T18:26:20.000' は、'2012-11-07T18:26:20' と表示されます。 |
|
- | 130 (1,2) | Hijri (5) | dd mon yyyy hh:mi:ss:mmmAM |
- | 131 (2) | Hijri (5) | dd/mm/yy hh:mi:ss:mmmAM |