smalldatetime (Transact-SQL)
日付を時刻と組み合わせて定義します。時刻は 24 時間制です。秒数は常にゼロ (:00) で、1 秒未満の秒を持ちません。
注意 |
---|
新しい作業項目に対しては、time、date、datetime2、および datetimeoffset データ型を使用します。これらの型は、SQL 標準に準拠しています。これらの型は、より高い移植性を持ちます。time、datetime2、および datetimeoffset は、分に関してより高い有効桁数を提供します。datetimeoffset は、グローバルに配置されるアプリケーション向けにタイム ゾーンのサポートを提供します。 |
Transact-SQL の日付と時刻のデータ型および関数の概要については、「日付と時刻のデータ型および関数 (Transact-SQL)」を参照してください。日付と時刻のデータ型および関数の一般的な例については、「日時データの使用」を参照してください。
smalldatetime の説明
構文 |
smalldatetime |
使用法 |
DECLARE @MySmalldatetime smalldatetime CREATE TABLE Table1 ( Column1 smalldatetime ) |
既定の文字列リテラル形式 (下位のクライアントに使用) |
該当なし |
日付範囲 |
1900-01-01 ~ 2079-06-06 1900 年 1 月 1 日~ 2079 年 6 月 6 日 |
時刻範囲 |
00:00:00 ~ 23:59:59 2007-05-09 23:59:59 は次のように丸められます。 2007-05-10 00:00:00 |
要素範囲 |
YYYY は、1900 ~ 2079 の年を表す 4 桁の数字です。 MM は、指定された年の 01 ~ 12 の月を表す 2 桁の数字です。 DD は、指定された月の (月に応じて) 01 ~ 31 の日を表す 2 桁の数字です。 hh は、00 ~ 23 の時を表す 2 桁の数字です。 mm は、00 ~ 59 の分を表す 2 桁の数字です。 ss は、00 ~ 59 の秒を表す 2 桁の数字です。29.998 秒以下の値は最も近い分単位の値に切り捨てられます。29.999 秒以上の値は最も近い分単位の値に切り上げられます。 |
文字長 |
最大 19 文字 |
ストレージのサイズ |
4 バイト、固定 |
精度 |
1 分 |
既定値 |
1900-01-01 00:00:00 |
カレンダー |
グレゴリオ暦 (完全な年の範囲は含まれません。) |
ユーザー定義の 1 秒未満の秒の有効桁数 |
なし |
タイム ゾーン オフセットへの対応と保持 |
なし |
夏時間への対応 |
なし |
ANSI および ISO 8601 への準拠
smalldatetime は ANSI または ISO 8601 に準拠していません。
例
A. 秒を含む文字列リテラルを smalldatetime にキャストする
次の例では、文字列リテラル内の秒の smalldatetime への変換を比較します。
SELECT
CAST('2007-05-08 12:35:29' AS smalldatetime)
,CAST('2007-05-08 12:35:30' AS smalldatetime)
,CAST('2007-05-08 12:59:59.998' AS smalldatetime);
入力 |
出力 |
---|---|
2007-05-08 12:35:29 |
2007-05-08 12:35:00 |
2007-05-08 12:35:30 |
2007-05-08 12:36:00 |
2007-05-08 12:59:59.998 |
2007-05-08 13:00:00 |
B. 日付および時刻データ型の比較
次の例では、文字列をそれぞれの日付および時刻データ型にキャストした結果を比較します。
SELECT
CAST('2007-05-08 12:35:29. 1234567 +12:15' AS time(7)) AS 'time'
,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS date) AS 'date'
,CAST('2007-05-08 12:35:29.123' AS smalldatetime) AS
'smalldatetime'
,CAST('2007-05-08 12:35:29.123' AS datetime) AS 'datetime'
,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS datetime2(7)) AS
'datetime2'
,CAST('2007-05-08 12:35:29.1234567 +12:15' AS datetimeoffset(7)) AS
'datetimeoffset';
データ型 |
出力 |
---|---|
time |
12:35:29. 1234567 |
date |
2007-05-08 |
smalldatetime |
2007-05-08 12:35:00 |
datetime |
2007-05-08 12:35:29.123 |
datetime2 |
2007-05-08 12:35:29. 1234567 |
datetimeoffset |
2007-05-08 12:35:29.1234567 +12:15 |