Maison  >  Article  >  base de données  >  Parlons de la méthode de conversion de l'horodatage Oracle

Parlons de la méthode de conversion de l'horodatage Oracle

PHPz
PHPzoriginal
2023-04-18 09:07:015321parcourir

L'horodatage utilisé dans la base de données Oracle est basé sur l'heure moyenne de Greenwich et est un nombre de 18 bits stocké en binaire. Pour l'utilisateur moyen, cet horodatage n'est pas intuitif et nécessite une conversion. Cet article présentera la méthode de conversion d'horodatage Oracle.

1. La structure de l'horodatage Oracle

L'horodatage Oracle se compose de deux parties :

1. Partie date (7 octets) : contient des informations sur la date sous forme de nombre de jours depuis le 1er janvier 1601 express.

2. Partie temps (1 octet) : contient des informations temporelles, exprimées en unités de 100 nanosecondes.

2. Convertir l'horodatage au format de date

Si vous devez convertir l'horodatage Oracle au format de date, vous pouvez utiliser l'instruction SQL suivante :

SELECT TO_DATE('1970-01-01 00:00:00', ' YYYY -MM-DD HH24:MI:SS') + (timestamp_column / (246060)) AS converti_date
FROM your_table;

où timestamp_column est le nom de la colonne où se trouve l'horodatage et your_table est le nom de la table. La fonction de l'instruction SQL ci-dessus est de convertir l'horodatage en nombre de secondes depuis le 1er janvier 1970 et d'ajouter l'horodatage de cette date pour obtenir la valeur réelle de la date.

3. Convertissez le format de date en horodatage

Si vous devez convertir le format de date en horodatage Oracle, vous pouvez utiliser l'instruction SQL suivante :

SELECT (CAST(NEW_TIME(date_column, 'GMT', 'UTC ') AS TIMESTAMP) - TO_TIMESTAMP('1970-01-01 00:00:00 UTC', 'YYYY-MM-DD HH24:MI:SS TZR')) (2460601000000000) AS_timestamp
FROM your_table;

Parmi eux, date_column est le nom de la colonne où se trouve la date, et your_table est le nom de la table. La fonction de l'instruction SQL ci-dessus est de soustraire l'horodatage du 1er janvier 1970 de l'horodatage de la date spécifiée, obtenant ainsi l'horodatage à partir du 1er janvier 1970 (l'unité est de 100 nanosecondes).

Il est important de noter que les horodatages Oracle sont précis à 100 nanosecondes, tandis que les horodatages Unix (nombre de secondes depuis le 1er janvier 1970 00:00:00) sont précis à la seconde près. Par conséquent, faites particulièrement attention lors de sa conversion.

4. Résumé

La méthode ci-dessus peut être utilisée pour convertir l'horodatage Oracle et le format d'heure ordinaire, mais vous devez faire attention à leurs différentes précisions. Si vous souhaitez transférer avec précision les informations d'horodatage entre différents systèmes, vous devez être prudent.

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