smalldatetime (Transact-SQL)

Определяет дату, сочетающуюся с временем дня. Время представлено в 24-часовом формате с секундами, всегда равными нулю (:00), без долей секунд.

ПримечаниеПримечание

Используйте для новых проектов типы данных time, date, datetime2 и datetimeoffset. Эти типы соответствуют стандарту языка SQL. Их проще переносить на другие платформы. Типы данных time, datetime2 и datetimeoffset обладают большей точностью в долях секунды. Тип данных datetimeoffset поддерживает часовые пояса для приложений, развернутых по всему миру.

Обзор всех типов данных и функций даты и времени в языке Transact-SQL см. в разделе Функции даты и времени (Transact-SQL). Сведения и примеры, относящиеся к типам данных и функциям даты и времени, см. в разделе Использование данных даты и времени.

Описание типа данных smalldatetime

Синтаксис

smalldatetime

Использование

DECLARE @MySmalldatetime smalldatetime

CREATE TABLE Таблица1 ( Столбец1 smalldatetime )

Форматы строковых литералов по умолчанию

(используется для клиента нижнего уровня)

Неприменимо

Диапазон даты

От 01.01.1900 до 06.06.2079

1 января 1900 года — 6 июня 2079 года

Диапазон времени

От 00:00:00 до 23:59:59

2007-05-09 23:59:59 округляется до

2007-05-10 00:00:00

Диапазоны элементов

ГГГГ — четырехзначное число от 1900 до 2079, представляющее год.

ММ обозначает 2 цифры, которые представляют месяц и принимают значения от 01 до 12.

Обозначение ДД состоит из двух цифр, представляющих день указанного месяца, и принимает значения от 01 до 31 в зависимости от месяца.

Обозначение чч состоит из двух цифр, представляющих час, и принимает значения от 00 до 23.

Обозначение мм состоит из двух цифр, представляющих минуту, и принимает значения от 00 до 59.

Обозначение сс состоит из двух цифр, представляющих секунду, и принимает значения от 00 до 59. Значения, меньшие или равные 29,998 секунд, округляются до минуты в меньшую сторону; значения, равные или большие 29,999, округляются до минуты в большую сторону.

Длина в символах

Максимально 19 позиций

Объем памяти

4 байта, фиксированный.

Точность

Одна минута

Значение по умолчанию

1900-01-01 00:00:00

Календарь

Григорианский

(Не включает полный диапазон лет)

Определяемая пользователем точность в долях секунды

Нет

Учет и сохранение смещения часового пояса

Нет

Учет перехода на летнее время

Нет

Соответствие стандартам ANSI и ISO 8601

smalldatetime не удовлетворяет стандартам ANSI и ISO 8601.

Примеры

А. Приведение строковых литералов с секундами к типу 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

Б. Сравнение типов данных даты и времени

В следующем примере сравниваются результаты приведения строкового типа к каждому из типов данных даты и времени.

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

См. также

Справочник