Saltar al contenido

TSQL FECHA HORA ISO 8601

Posterior a investigar con expertos en este tema, programadores de diversas áreas y profesores dimos con la respuesta al dilema y la plasmamos en este post.

Solución:

Cuando se trata de fechas en SQL Server, el formato ISO-8601 es probablemente la mejor opción, ya que funciona independientemente de la configuración de idioma y cultura.

Para INSERTAR datos en una tabla de SQL Server, no necesita ningún código de conversión ni nada en absoluto, solo especifique sus fechas como cadenas literales

INSERT INTO MyTable(DateColumn) VALUES('20090430 12:34:56.790')

y tu estas listo.

Si necesita convertir una columna de fecha al formato ISO-8601 en SELECT, puede usar el código de conversión 126 o 127 (con información de la zona horaria) para lograr el formato ISO.

SELECT CONVERT(VARCHAR(33), DateColumn, 126) FROM MyTable

debería darte:

2009-04-30T12:34:56.790

Esta

SELECT CONVERT(NVARCHAR(30), GETDATE(), 126)

producirá esto

2009-05-01T14:18:12.430

Y se pueden encontrar más detalles sobre esto en MSDN.

Si solo necesita generar la fecha en formato ISO8601, incluida la Z final, y tiene al menos SQL Server 2012, entonces puede usar FORMAT:

SELECT FORMAT(GetUtcDate(),'yyyy-MM-ddTHH:mm:ssZ')

Esto te dará algo como:

2016-02-18T21:34:14Z

Tal como lo señala @Pxtl en un comentario, FORMAT puede tener implicaciones en el rendimiento, un costo que debe considerarse en comparación con la flexibilidad que brinda.

Te mostramos comentarios y valoraciones

Al final de la web puedes encontrar las ilustraciones de otros administradores, tú igualmente tienes la habilidad insertar el tuyo si te gusta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *