Maison >base de données >tutoriel mysql >Comment convertir un entier représentant l'heure au format HH:MM:SS:00 dans SQL Server 2008 ?

Comment convertir un entier représentant l'heure au format HH:MM:SS:00 dans SQL Server 2008 ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-31 04:48:10876parcourir

How to Convert an Integer Representing Time to HH:MM:SS:00 Format in SQL Server 2008?

Convertir l'heure entière en HH:MM:SS:00 dans SQL Server 2008

Question :

Dans SQL Server 2008, il est nécessaire de transformer une valeur temporelle entière au format heure HH:MM:SS:00. De plus, il est essentiel de comprendre si le « 00 » dans ce format représente des millisecondes.

Réponse :

Pour convertir une heure entière en HH:MM:SS : 00, utilisez les étapes suivantes :

  1. Extraire l'heure : Divisez l'entier temps par 1 000 000 et prenez le module 100 pour obtenir la valeur de l'heure.
  2. Extraire la minute : Divisez le temps entier restant par 10 000 et prenez le module 100 pour obtenir la valeur des minutes.
  3. Extraire la seconde : Divisez le temps entier restant par 100 et prenez le module 100 pour obtenir la deuxième valeur.
  4. Extraire la milliseconde : Multipliez le temps entier restant par 10 pour obtenir la valeur en milliseconde.

Le « 00 » au format horaire HH:MM:SS:00 représente millisecondes.

Exemple :

Considérons le temps entier 10455836.

SELECT
    (@T / 1000000) % 100 AS hour,
    (@T / 10000) % 100 AS minute,
    (@T / 100) % 100 AS second,
    (@T % 100) * 10 AS millisecond

Résultat :

hour    minute  second  millisecond
10      45      58      360

Vous pouvez également utiliser la requête suivante pour plus d'informations. résultat complet :

SELECT
    DATENAME(HOUR, DATETIMEFROMPARTS(@T / 1000000 % 100, @T / 10000 % 100, @T / 100 % 100, @T % 100 * 10)) AS hour,
    DATENAME(MINUTE, DATETIMEFROMPARTS(@T / 1000000 % 100, @T / 10000 % 100, @T / 100 % 100, @T % 100 * 10)) AS minute,
    DATENAME(SECOND, DATETIMEFROMPARTS(@T / 1000000 % 100, @T / 10000 % 100, @T / 100 % 100, @T % 100 * 10)) AS second,
    DATENAME(MILLISECOND, DATETIMEFROMPARTS(@T / 1000000 % 100, @T / 10000 % 100, @T / 100 % 100, @T % 100 * 10)) AS millisecond

Sortie :

hour       minute   second   millisecond
10         45       58       360

Cette méthode identifie également clairement les composantes temporelles comme l'heure, la minute, la seconde et la milliseconde.

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