SQLServerの日付や時刻に関する型の一覧とサンプルです。
SQLServerの日付や時刻に関する型の一覧
SQLServerで日付や時刻を扱う型は以下6種類あります。
用途に応じて最適な型をご使用ください。
データ型 | フォーマット | 範囲 | 精度 |
---|---|---|---|
time | hh:mm:ss[.nnnnnnn] | 00:00:00.0000000~ 23:59:59.9999999 | 100ナノ秒 |
date | YYYY-MM-DD | 0001-01-01~ 9999-12-31 | 1日 |
smalldatetime | YYYY-MM-DD hh:mm | 1900-01-01 00:00~ 2079-06-06 23:59 | 1分 |
datetime | YYYY-MM-DD hh:mm:ss[.nnn] | 1753-01-01~ 9999-12-31 | 0.00333秒 |
datetime2 | YYYY-MM-DD hh:mm:ss[.nnnnnnn] | 0001-01-01 00:00:00.0000000~ 9999-12-31 23:59:59.9999999 | 100 ナノ秒 |
datetimeoffset | YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm | 0001-01-01 00:00:00.0000000~ 9999-12-31 23:59:59.9999999 (UTC) | 100 ナノ秒 |
よく使われるのは、datetime型とdate型です。
サンプル
例)各種日付型の生成サンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
select convert(time, '2020-03-01 10:20:30.1234567') ⇒10:20:30.1234567 select convert(date, '2020-03-01 10:20:30.1234567') ⇒2020-03-01 select convert(smalldatetime, '2020-03-01 10:20') ⇒2020-03-01 10:20:00 ※ミリ秒を指定するとエラーになります。 select convert(datetime, '2020-03-01 10:20:30.123') ⇒2020-03-01 10:20:30.123 ※3桁以上のミリ秒を指定するとエラーになります。 select convert(datetime2, '2020-03-01 10:20:30.1234567') ⇒2020-03-01 10:20:30.1234567 select convert(datetimeoffset, '2020-03-01 10:20:30.1234567 +9:00') ⇒2020-03-01 10:20:30.1234567 +09:00 |