Maison >base de données >tutoriel mysql >Comment convertir SQL Server DATETIMEOFFSET en UTC DATETIME ?

Comment convertir SQL Server DATETIMEOFFSET en UTC DATETIME ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-31 21:04:14419parcourir

How Do I Convert SQL Server DATETIMEOFFSET to UTC DATETIME?

Convertir Sql Server DATETIMEOFFSET en UTC DATETIME

Dans SQL Server, les valeurs DATETIMEOFFSET stockent à la fois la date et l'heure, ainsi qu'un décalage par rapport à UTC. Pour convertir un champ DATETIMEOFFSET en champ DATETIME tout en tenant compte du décalage, en le convertissant efficacement en UTC, considérez ce qui suit :

La conversion d'une valeur DATETIMEOFFSET en DATETIME2 à l'aide de CONVERT ou CAST convertira automatiquement la valeur en UTC en supprimant le décalage. Par exemple :

DECLARE @createdon DATETIMEOFFSET = '2008-12-19 17:30:09.0000000 +11:00';
SELECT CONVERT(DATETIME2, @createdon, 1);
-- Output: 2008-12-19 06:30:09.0000000

Cependant, la conversion d'un DATETIMEOFFSET en DATETIME ne définit pas le décalage sur UTC. Pour convertir explicitement en DATETIME avec un décalage de 00:00, utilisez la fonction DATETIMEOFFSET :

SELECT CONVERT(DATETIMEOFFSET, CONVERT(DATETIME2, @createdon, 1));
-- Output: 2008-12-19 06:30:09.0000000 +00:00

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn