В этом руководстве вы узнаете, как хранить время суток в базе данных, используя тип данных SQL Server TIME.
Введение в тип данных SQL Server TIME
Тип данных SQL Server TIME определяет время суток на основе 24-часового формата. Синтаксис типа данных TIME следующий:
TIME[(fractional second scale) ]
Дробная секундная шкала определяет количество цифр для дробной части секунд. Дробная секундная шкала имеет диапазон от 0 до 7. По умолчанию дробная секундная шкала равна 7, если вы явно не укажете это.
Следующий пример иллюстрирует, как создать таблицу со столбцом TIME:
CREATE TABLE table_name(
...,
start_at TIME(0),
...
);
Формат литерала по умолчанию для значения ВРЕМЕНИ:
hh:mm:ss[.nnnnnnn]
В этом формате:
- hh — это две цифры, представляющие час в диапазоне от 0 до 23.
- мм — это две цифры, представляющие минуты в диапазоне от 0 до 59.
- ss — это две цифры, представляющие секунды в диапазоне от 0 до 59.
- Дробная часть секунды может содержать от нуля до семи цифр в диапазоне от 0 до 9999999.
Значение времени с точностью по умолчанию 100 мс с точностью до долей секунды требует хранения 5 байт.
Обратите внимание, что тип данных TIME не учитывает часовой пояс.
Пример типа данных SQL Server TIME
Следующий оператор создает таблицу с именем sales.visits с двумя столбцами TIME, в которых регистрируется время посещения клиентами определенного магазина:
CREATE TABLE sales.visits(
visit_id INT PRIMARY KEY IDENTITY,
customer_name VARCHAR(50) NOT NULL,
phone VARCHAR(25),
store_id INT NOT NULL,
visit_on DATE NOT NULL,
start_at TIME(0) NOT NULL,
end_at TIME(0) NOT NULL,
FOREIGN KEY(store_id) REFERENCES sales.stores(store_id)
);
Следующий оператор INSERT добавляет строку в таблицу sales.visits:
INSERT INTO sales.visits(
customer_name,
phone,
store_id,
visit_on,
start_at,
end_at
)
VALUES
(
'John Doe',
'(408)-993-3853',
1,
'2018-06-23',
'09:10:00',
'09:30:00'
);
В этом руководстве вы узнали, как использовать тип данных SQL Server TIME для хранения значений времени в таблице.




