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