Maison > base de données > tutoriel mysql > Comment convertir les colonnes Datetime UTC en heure locale dans les instructions SQL Select ?

Comment convertir les colonnes Datetime UTC en heure locale dans les instructions SQL Select ?

Patricia Arquette
Libérer: 2025-01-17 04:27:10
original
752 Les gens l'ont consulté

How to Convert UTC Datetime Columns to Local Time in SQL Select Statements?

Conversion des colonnes datetime UTC en heure locale dans les instructions de sélection SQL

Lors de l'exécution de requêtes de sélection SQL, il peut être nécessaire de convertir les colonnes datetime UTC en heure locale pour faciliter interprétation et présentation. Cette conversion peut être effectuée sans modifier la base de données ni utiliser de code externe.

Méthode de conversion

Dans SQL Server 2008 ou version ultérieure, la syntaxe suivante peut être utilisée :

SELECT CONVERT(datetime, 
               SWITCHOFFSET(CONVERT(datetimeoffset, 
                                    MyTable.UtcColumn), 
                            DATENAME(TzOffset, SYSDATETIMEOFFSET()))) 
       AS ColumnInLocalTime
FROM MyTable
Copier après la connexion

Une alternative plus courte est :

SELECT DATEADD(mi, DATEDIFF(mi, GETUTCDATE(), GETDATE()), MyTable.UtcColumn) 
       AS ColumnInLocalTime
FROM MyTable
Copier après la connexion

Considérations

Il est important d'éviter d'utiliser soustraction (-) pour calculer les différences de date, car cette approche peut conduire à des résultats inexacts en raison d'opérations non atomiques.

Ajustement de l'heure d'été

Les méthodes fournies ne tiennent pas compte de l'heure d'été (DST ). Si un ajustement de l'heure d'été est requis, reportez-vous à la question suivante :

  • [Comment créer la fonction de début et de fin de l'heure d'été dans SQL Server](https://stackoverflow.com/questions/2614192/how -pour-créer-l'heure d'été-heure-de-début-et-fin-fonction-dans-sql-server)

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal