Tipo de datos TIME de SQL Server para almacenar la hora

Resumen: en este tutorial, aprenderás cómo almacenar la hora de un día en la base de datos utilizando el tipo de datos TIME
de SQL Server.
Introducción al tipo de datos TIME de SQL Server
El tipo de datos TIME de SQL Server define una hora del día basada en un reloj de 24 horas. La sintaxis del tipo de datos TIME
es la siguiente:
TIME[ (escala de fracciones de segundos) ]
La escala de fracciones de segundos especifica el número de dígitos para la parte fraccionaria de los segundos. La escala de fracciones de segundos va de 0 a 7. De forma predeterminada, la escala de fracciones de segundos es 7 si no la especificas explícitamente.
El siguiente ejemplo ilustra cómo crear una tabla con una columna TIME:
CREATE TABLE table_name(
...,
start_at TIME(0),
...
);
El formato literal predeterminado para un valor TIME
es
hh:mm:ss[.nnnnnnn]
En este formato:
- hh son dos dígitos que representan la hora con un rango de 0 a 23.
- mm son dos dígitos que representan el minuto con un rango de 0 a 59.
- ss son dos dígitos que representan el segundo con el rango de 0 a 59.
- La parte de las fracciones de segundos puede ser de cero a siete dígitos que tiene un rango de 0 a 9999999.
Un valor de tiempo con una precisión predeterminada de 100 ms en fracciones de segundo requiere un almacenamiento de 5 bytes.
"Ten en cuenta que el tipo de datos TIME no es el reconocimiento de zona horaria."
Ejemplo de tipo de datos TIME de SQL Server
La siguiente declaración crea una tabla llamada sales.visits con dos columnas TIME
que registran el tiempo de visita de los clientes a una tienda en particular:
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)
);
La siguiente instrucción INSERT agrega una fila a la tabla 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'
);
En este tutorial, aprendiste a usar el tipo de datos TIME
de SQL Server para almacenar valores de tiempo en una tabla.