Maison >base de données >tutoriel mysql >Comment convertir les horodatages UNIX en DateTime dans 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 deDATEADD
(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!