日付と時刻 (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 日付時刻形式
時刻形式
区切りのない文字列形式