Maison >base de données >tutoriel mysql >Comment convertir les horodatages UNIX en DateTime dans SQL Server ?

Comment convertir les horodatages UNIX en DateTime dans SQL Server ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-17 16:17:10527parcourir

How to Convert UNIX Timestamps to DateTime in SQL Server?

SQL Server : Conversion des horodatages UNIX en DateTime

Les horodatages UNIX, stockés sous forme de valeurs bigint, représentent les secondes écoulées depuis l'époque Unix (1er janvier 1970, 00:00:00 UTC). Leur conversion au format DATETIME de SQL Server simplifie la gestion des bases de données.

Une méthode simple utilise DATEADD :

<code class="language-sql">SELECT DATEADD(second, [unixtime], '19700101')
FROM [Table];</code>

Cela ajoute le unixtime (de la colonne [unixtime]) à la date de l'époque, donnant le DATETIME correspondant.

Comprendre l'époque

'19700101' représente l'époque – le point d'origine du système d'horodatage UNIX. L'ajout de l'horodatage à cette date traduit efficacement l'horodatage numérique en une date et une heure lisibles par l'homme.

Résoudre le problème de l'année 2038

La limitation entière de

DATEADD (maximum 2 147 483 647 secondes) présente un défi pour les horodatages dépassant cette valeur. Pour gérer les dates au-delà de l'année 2038, une approche plus robuste est nécessaire, impliquant potentiellement de diviser l'horodatage en composants d'année et de secondes restantes pour des opérations DATEADD distinctes. Cela évite les erreurs de débordement arithmétique.

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