Maison> base de données> Oracle> le corps du texte

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

PHPz
Libérer: 2023-04-18 09:26:55
original
11923 Les gens l'ont consulté

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;
Copier après la connexion

Le résultat devrait ressembler à ceci :

DATETIME_STRING ------------------- 2021-08-31 12:00:00
Copier après la connexion
  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;
Copier après la connexion

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;
Copier après la connexion

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!

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 téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!