В этом руководстве вы узнаете, как использовать 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 для хранения данных о датах в таблице.




