SQL

Tipo de datos DATETIMEOFFSET de SQL Server para fecha y hora con la zona horaria

Estrada Web Group
Estrada Web Group
Tipo de datos DATETIMEOFFSET de SQL Server para fecha y hora con la zona horaria

Resumen: en este tutorial, aprenderás a usar el tipo de datos DATETIMEOFFSET de SQL Server para manipular datos de tipo fecha y hora con la zona horaria.

Introducción al tipo de datos DATETIMEOFFSET

DATETIMEOFFSET te permite manipular cualquier punto único en el tiempo, que es un valor de fecha y hora, junto con un desplazamiento que especifica cuánto difiere esa fecha y hora de UTC.

Sintaxis de DATETIMEOFFSET

La sintaxis de DATETIMEOFFSET es la siguiente:

DATETIMEOFFSET [ (fractional seconds precision) ]

Para declarar una variable DATETIMEOFFSET, utiliza la siguiente sintaxis:

DECLARE @dt DATETIMEOFFSET(7)

Para crear una columna en una tabla cuyo tipo de datos sea DATETIMEOFFSET, utiliza la siguiente estructura:

CREATE TABLE table_name (
    ...,
    column_name DATETIMEOFFSET(7)
    ...
);

El tipo de datos DATETIMEOFFSET tiene un rango desde el 1 de enero del 1 hasta el 31 de diciembre de 9999. La hora va desde las 00:00:00 hasta las 23:59:59.9999999.

Formatos literales

Los formatos literales de DATETIMEOFFSET son los siguientes:

YYYY-MM-DDThh:mm:ss[.nnnnnnn][{+|-}hh:mm]

Por ejemplo:

2020-12-12 11:30:30.12345

Formato ISO:

YYYY-MM-DDThh:mm:ss[.nnnnnnn]Z

Ejemplo ISO:

2020-12-12 19:30:30.12345Z.

Especificar zona horaria

Para un valor de fecha y hora, un desplazamiento de zona horaria especifica el desplazamiento de zona desde UTC. Un desplazamiento de zona horaria se representa como [+|-] hh:mm:

  • hh son dos dígitos que van de 00 a 14, lo que representa el número de horas en el desplazamiento de la zona horaria.
  • mm son dos dígitos que van de 00 a 59, lo que representa la cantidad de minutos adicionales en la compensación de la zona horaria.
  • +(más) o -(menos) especifica si el desplazamiento de la zona horaria se suma o se resta de la hora UTC para devolver la hora local.

El rango válido de un desplazamiento de zona horaria es de -14:00 a +14:00

Ejemplos de DATETIMEOFFSET

Primero, crea una tabla llamada messages, que tiene una columna DATETIMEOFFSET:

CREATE TABLE messages(
    id         INT PRIMARY KEY IDENTITY,
    message    VARCHAR(255) NOT NULL,
    created_at DATETIMEOFFSET NOT NULL
);

En segundo lugar, inserta una nueva fila con un valor DATETIMEOFFSET en la tabla de messages:

INSERT INTO messages(message,created_at)
VALUES('DATETIMEOFFSET demo',
        CAST('2019-02-28 01:45:00.0000000 -08:00' AS DATETIMEOFFSET));

Tercero, consulta los datos de la tabla de mensajes y use AT TIME ZONE para convertir el valor DATETIMEOFFSET almacenado a la zona horaria 'SE Asia Standard Time'.

SELECT
    id,
    message,
    created_at
        AS 'Pacific Standard Time'
    created_at AT TIME ZONE 'SE Asia Standard Time'
        AS 'SE Asia Standard Time',
FROM
    messages;

Resultado:

id message Pacific Standard Time SE Asia Standard Time
1 DATETIMEOFFSET demo 2019-02-28 01:45:00.0000000 -08:00 2019-02-28 16:45:00.0000000 +07:00

En este tutorial, has aprendido a usar el tipo de datos DATETIMEOFFSET para manipular el valor DATETIMEOFFSET.

 

Compartir artículo:

Más artículos geniales

Cómo crear una nueva base de datos en SQL Server con CREATE DATABASE o SQL Server Management Studio

Cómo crear una nueva base de datos en SQL Server con CREATE DATABASE o SQL Server Management Studio

Resumen: en este tutorial, aprenderás cómo crear una nueva base de datos en SQL Server usando la declaración CREATE DATABASE o SQL Server Management Studio.

Ver artículo completo
Cómo eliminar tablas en SQL Server con DROP TABLE

Cómo eliminar tablas en SQL Server con DROP TABLE

Resumen: en este tutorial, aprenderás a usar la instrucción DROP TABLE de SQL Server para eliminar una o más tablas de una base de datos.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla