日付と時刻 (Transact-SQL)

日付と時刻を表すのに使用されるデータ型です。

  • datetime および smalldatetime
    日付と時刻を表します。

    データ型 範囲 精度

    datetime

    1753 年 1 月 1 日~ 9999 年 12 月 31 日

    3.33 ミリ秒

    smalldatetime

    1990 年 1 月 1 日~ 2079 年 6 月 6 日

    1 分

解説

datetime データ型の値は、SQL Server 2005 データベース エンジンにより、内部的には 2 つの 4 バイトの整数として格納されます。最初の 4 バイトは基準日、つまり 1900 年 1 月 1 日からの日数、またはこの日までの日数を格納します。基準日とは、システムが参照する日付です。残りの 4 バイトは、午前 0 時から数えた 1/300 秒単位の数として表された時間を格納します。

smalldatetime データ型は、日付および時間を datetime よりも低い精度で格納します。データベース エンジンは、smalldatetime 値を 2 つの 2 バイトの整数として格納します。最初の 2 バイトは、1900 年 1 月 1 日からの日数を格納します。残りの 2 バイトは、午前 0 時からの分数を格納します。

以下の表に示すように、datetime 値は .000、.003、または .007 秒の単位になるように丸められます。

丸められた結果の例

01/01/98 23:59:59.999

1998-01-02 00:00:00.000

01/01/98 23:59:59.995,

01/01/98 23:59:59.996,

01/01/98 23:59:59.997、または

01/01/98 23:59:59.998

1998-01-01 23:59:59.997

01/01/98 23:59:59.992,

01/01/98 23:59:59.993、または

01/01/98 23:59:59.994

1998-01-01 23:59:59.993

01/01/98 23:59:59.990、または

01/01/98 23:59:59.991

1998-01-01 23:59:59.990

29.998 秒以下の smalldatetime 値は最も近い分単位の値に切り捨てられます。29.999 秒以上の値は最も近い分単位の値に切り上げられます。

--Returns time as 12:35.
SELECT CAST('2003-05-08 12:35:29.998' AS smalldatetime);
GO
--Returns time as 12:36.
SELECT CAST('2003-05-08 12:35:29.999' AS smalldatetime);
GO

参照

関連項目

日付と時刻関数 (Transact-SQL)
データ型 (Transact-SQL)
ALTER TABLE (Transact-SQL)
CAST および CONVERT (Transact-SQL)
CREATE TABLE (Transact-SQL)
DECLARE @local\_variable (Transact-SQL)
DELETE (Transact-SQL)
INSERT (Transact-SQL)
SET @local\_variable (Transact-SQL)
UPDATE (Transact-SQL)

その他の技術情報

データ型の変換 (データベース エンジン)
ISO 8601 形式
アルファベット日付形式
数値日付形式
ODBC 日付時刻形式
時刻形式
区切りのない文字列形式

ヘルプおよび情報

SQL Server 2005 の参考資料の入手