Использование данных даты и времени

Изменения: 14 апреля 2006 г.

В SQL Server 2005 категория «Тип данных даты и времени» включает в себя следующие типы данных:

  • datetime
  • smalldatetime

Типы данных datetime и smalldatetime позволяют выполнять следующие операции.

  • Вводить новую дату и время или изменять существующую дату и время.
  • Складывать и вычитать даты. Дополнительные сведения об арифметике дат см. в разделах Оператор + (сложение) (Transact-SQL) и - (Вычитание) (Transact-SQL).
  • Осуществлять поиск заданной даты или времени.

Предусмотрена возможность выполнения арифметических расчетов над данными типов datetime и smalldatetime с использованием системных функций даты и времени. Дополнительные сведения см. в разделе Функции (Transact-SQL).

Несколько рекомендаций по использованию данных даты и времени.

  • При выполнении поиска даты и времени с точным соответствием используйте знак равенства (=). SQL Server возвращает значения даты и времени с точным соответствием по месяцу, дню и году и в точное время 12:00:00:000 часов дня (по умолчанию). Дополнительные сведения о работе с временем см. в разделе Форматы времени.

  • SQL Server вычисляет константы datetime во время выполнения. Возможно, что строка даты, выполняющая свою функцию для форматов дат, используемых в одном языке, не будет распознаваться, если запрос будет выполняться при соединении, использующем другой язык и другую настройку формата даты. Например, данное представление правильно функционирует при соединении с использованием американского варианта английского языка, но не при соединении с использованием других языковых настроек:

    CREATE VIEW dbo.USA_Dates AS
    SELECT PurchaseOrderID, TotalDue
    FROM AdventureWorks.Purchasing.PurchaseOrderHeader
    WHERE OrderDate < 'May 1, 2002';
    

    При использовании констант datetime в запросах, выполняемых соединениями, где применяются различные языковые настройки, позаботьтесь о том, чтобы форматы дат были приемлемыми для всех языковых настроек. Такую же осмотрительность следует проявлять и при работе с константами datetime в постоянных объектах международных баз данных, например в ограничениях на таблицы и предложениях WHERE в представлениях. В следующем примере демонстрируется метод применения константы datetime, обеспечивающий ее единообразную интерпретацию при использовании настроек соединения для всех форматов языков или дат.

    CREATE VIEW dbo.International_Dates AS
    SELECT PurchaseOrderID, TotalDue
    FROM AdventureWorks.Purchasing.PurchaseOrderHeader
    WHERE OrderDate < CONVERT(DATETIME,'20020501',101);
    

    Дополнительные сведения см. в разделе Написание интернационализированных инструкций на языке Transact-SQL.

SQL Server распознает данные даты и времени, заключенные в одинарные кавычки ('') в следующих форматах:

  • алфавитный формат даты, например «15 апреля 1998 г.»;
  • числовой формат даты, например «4/15/1998»;
  • строковый формат без разделителей. Например, строка «19981207» интерпретируется как 7 декабря 1998 года.

См. также

Другие ресурсы

Дата и время (Transact-SQL)
Типы данных (Transact-SQL)
Функции CAST и CONVERT (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005