В этом руководстве вы узнаете, как использовать SQL Server DATE для хранения данных о датах в таблице.
Введение в SQL Server DATE
Для хранения данных о дате в базе данных используется тип данных SQL Server DATE. Синтаксис DATE следующий:
DATE
В отличие от типа данных DATETIME2, тип данных DATE имеет только компонент даты. Диапазон значения DATE — от 1 января 1 г. н. э.(0001-01-01) до 31 декабря 9999 г. н. э.(9999-12-31).
Для хранения значения ДАТЫ требуется 3 байта. Формат строки литерала по умолчанию для значения ДАТЫ следующий:
YYYY-MM-DD
В этом формате:
- YYYY — это четыре цифры, обозначающие год, диапазон которых составляет от 0001 до 9999.
- ММ — это две цифры, обозначающие месяц года, которые варьируются от 01 до 12.
- DD — это две цифры, обозначающие день указанного месяца, который может иметь значение от 01 до 31 в зависимости от месяца.
Примеры SQL Server DATE
A) Запрос данных из таблицы на основе значений DATE
Давайте посмотрим на таблицу sales.orders из примера базы данных :
В следующем примере возвращаются все заказы, дата заказа которых приходится на более раннюю дату, чем 05 января 2016 года:
SELECT order_id, customer_id, order_status, order_date FROM sales.orders WHERE order_date < '2016-01-05' ORDER BY order_date DESC;
Вот что получилось:
Б) Пример использования ДАТЫ для определения столбцов таблицы
Следующий оператор создает таблицу с именем sales.list_prices, которая содержит два столбца DATE:
CREATE TABLE sales.list_prices( product_id INT NOT NULL, valid_from DATE NOT NULL, valid_to DATE NOT NULL, amount DEC(10, 2) NOT NULL, PRIMARY KEY( product_id, valid_from, valid_to ), FOREIGN KEY(product_id) REFERENCES production.products(product_id) );
Следующий оператор INSERT иллюстрирует, как вставить в таблицу строку с буквальными значениями даты:
INSERT INTO sales.list_prices( product_id, valid_from, valid_to, amount ) VALUES ( 1, '2019-01-01', '2019-12-31', 400 );
В этом руководстве вы узнали, как использовать тип данных SQL Server DATE для хранения данных о датах в таблице.