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!