[SQL Server] 日時(DateTime)を文字列に変換する方法

inno
2014-07-17 21:06 3771 0

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 (12)

既定値

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 (12)

既定値 + ミリ秒

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 (12)

ヨーロッパの既定値 + ミリ秒

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

コメント