Maison >base de données >Oracle >Comment convertir l'horodatage Oracle en différents formats datetime

Comment convertir l'horodatage Oracle en différents formats datetime

PHPz
PHPzoriginal
2023-04-18 09:06:0512088parcourir

La base de données Oracle utilise l'horodatage (horodatage) comme type de date et d'heure. Lorsqu'il s'agit de problèmes de date et d'heure, il est souvent nécessaire de convertir l'horodatage en un format de date et d'heure lisible par l'homme. Dans cet article, nous verrons comment les horodatages Oracle sont convertis en différents formats de date et d'heure.

  1. Convertir l'horodatage en chaîne datetime

Nous pouvons utiliser la fonction intégrée d'Oracle to_char() pour convertir l'horodatage en chaîne datetime. Le premier paramètre de la fonction to_char() est l'horodatage qui doit être converti et le deuxième paramètre est la représentation sous forme de chaîne du format de date et d'heure cible.

Par exemple, pour convertir un horodatage en chaîne datetime au format 'AAAA-MM-JJ HH24:MI:SS', vous pouvez utiliser le code suivant :

SELECT to_char(TIMESTAMP '2021-08-31 12:00:00', 'YYYY-MM-DD HH24:MI:SS') AS datetime_string
FROM dual;

Le résultat devrait ressembler à ceci :

DATETIME_STRING
-------------------
2021-08-31 12:00:00
  1. Convertir l'horodatage Convertir en heure Unix

L'heure Unix est le nombre de secondes entre le 1er janvier 1970 00:00:00 UTC et l'heure spécifiée. Dans Oracle, nous pouvons convertir l'horodatage en heure Unix en utilisant le code suivant :

SELECT (TO_TIMESTAMP('1970-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') - TIMESTAMP '2021-08-31 12:00:00') * 24 * 60 * 60 AS unix_time
FROM dual;

Expliquez ce code. Tout d’abord, nous utilisons la fonction TO_TIMESTAMP() pour convertir la chaîne « 1970-01-01 00:00:00 » en un type d’horodatage. Ensuite, nous soustrayons l'horodatage spécifié de cet horodatage (voici « 2021-08-31 12:00:00 ») pour obtenir un décalage horaire (durée). Enfin, multipliez ce décalage horaire par 24 * 60 * 60, qui est le nombre de secondes dans une journée, pour obtenir l'heure Unix correspondante.

Le résultat de sortie du code ci-dessus doit être un entier représentant le nombre de secondes entre le 1er janvier 1970 00:00:00 UTC et l'heure spécifiée.

  1. Convertir l'heure Unix en horodatage

Si nous voulons convertir l'heure Unix en horodatage, nous pouvons utiliser le code suivant :

SELECT TO_TIMESTAMP('1970-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') + NUMTODSINTERVAL(1630425600, 'SECOND') AS timestamp
FROM dual;

Dans le code ci-dessus, nous utilisons la fonction TO_TIMESTAMP() pour convertir la chaîne '1970- 01-01 00:00:00' est converti en type d'horodatage. Nous utilisons ensuite la fonction NUMTODSINTERVAL() pour convertir l'heure Unix (ici 1630425600) en un type d'intervalle. Enfin, ajoutez l'horodatage et l'intervalle de temps pour obtenir l'horodatage correspondant à l'heure Unix.

Le résultat de sortie doit être une valeur de type horodatage, représentant la date et l'heure correspondant à l'heure Unix.

Résumé

Cet article présente la méthode de conversion d'horodatage Oracle, qui peut convertir les horodatages en différents formats de date et d'heure. Grâce à ces méthodes, nous pouvons traiter plus facilement les problèmes de date et d’heure.

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