時刻形式

Microsoft SQL Server 2005 では、時刻データとして次の形式が認識されます。それぞれの形式は単一引用符 (') で囲みます。

14:30
14:30[:20:999]
14:30[:20.9]
4am
4 PM
[0]4[:30:20:500]AM
SELECT CAST('01/01/2000 14:30' AS datetime)
    --2000-01-01 14:30:00.000
SELECT CAST('01/01/2000 14:30:20:999' AS datetime)
    --2000-01-01 14:30:21.000
SELECT CAST('01/01/2000 14:30:20.9' AS datetime)
    --2000-01-01 14:30:20.900
SELECT CAST('01/01/2000 4am' AS datetime)
    --2000-01-01 04:00:00.000
SELECT CAST('01/01/2000 4 PM' AS datetime)
    --2000-01-01 16:00:00.000
SELECT CAST('01/01/2000 04:30:20:500AM' AS datetime)
    --2000-01-01 04:30:20.500
SELECT CAST('01/01/2000 04:30:20:500 AM' AS datetime)
    --2000-01-01 04:30:20.500

AM または PM のサフィックスを指定すると、時刻値が午前か午後かを指定できます。ただし、AM および PM の大文字と小文字は区別されません。

時刻の指定には、12 時間方式と 24 時間方式のどちらも使用できます。時刻値は次のように解釈されます。

  • 時刻値 0 は、AM を指定していなくても、午前 (AM) 0 時を表します。時刻値が 0 のときに PM を指定することはできません。
  • AM と PM のどちらも指定していない場合、1 から 11 までの時刻値は午前の時刻を表します。また、AM を指定した場合も午前の時刻を表します。PM を指定すると、午後の時刻を表します。
  • AM と PM のどちらも指定していない場合、時刻値 12 は正午を表します。AM を指定すると、午前 0 時を表します。PM を指定すると、正午を表します。たとえば、12:01 という値は、12:01 PM では正午を 1 分過ぎた時刻、12:01 AM では午前 0 時を 1 分過ぎた時刻を表します。12:01 AM と指定しても、00:01 または 00:01 AM と指定した場合と同じ時刻を表します。
  • 13 から 23 までの時刻値は、AM または PM を指定していなくても、午後の時刻を表します。また、PM を指定した場合も午後の時刻を表します。時刻値が 13 から 23 までの場合、AM を指定することはできません。
  • 時刻値 24 は有効ではないため、午前 0 時を表すときは 12:00 AM または 00:00 を使用します。

ミリ秒の前には、コロン (:) またはピリオド (.) を付けます。コロンを付けると、後続の値は、1000 分の 1 秒単位になります。ピリオドを付けると、数字が 1 桁なら 10 分の 1 秒単位に、2 桁なら 100 分の 1 秒単位に、3 桁なら 1000 分の 1 秒単位になります。たとえば、"12:30:20:1" は 12 時 30 分 20 秒を 1000 分の 1 秒過ぎた時刻を表し、"12:30:20.1" は 12 時 30 分 20 秒を 10 分の 1 秒過ぎた時刻を表します。

参照

概念

日時データの使用

その他の技術情報

日付と時刻 (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手