J'ai extrait la date d'un fichier EXCEL qui est 42885.4253360301
et la date au format Excel est DD-MON-RR HH:MI:SS UTC
. Je souhaite convertir la valeur décimale en datetime
à l'aide de la fonction oracle. Comment procéder?Comment faire pour convertir la date d'extraction en décimal en Datetime en oracle
Répondre
Je ne sais pas vraiment ce qui est le point de départ pour le calcul de la date d'Oracle avec des valeurs décimales, mais si vous prenez quelque chose comme:
select to_date('01/01/1900', 'dd/mm/yyyy')+42885.4253360301 as my_date from dual;
votre résultat est
MY_DATE
-------------------
01/06/2017 10:12:29
qui signifie que vous Vous pouvez appliquer une simple opération de date à votre valeur Excel en l'ajoutant à un point de départ. quel point de départ? Je ne peux pas vraiment le dire, mais j'espère que cela peut servir d'indice.
travaillant en arrière, j'ai branché sa valeur décimale dans Excel et converti en date pour comprendre quelle date il a réellement commencé avec: 30 mai 2017 10:12:29. Mettre cela dans Oracle et soustraire 42885.4253360301 donne: 30-dec-1899 00:00:00 de sorte que vous êtes sur la bonne idée, cependant, je suppose que vous devez utiliser Dec 30, 1899 comme votre date de base, (pas Jan 1, 1900) et puis ajouter à cela ..;) mais oui, probablement le moyen le plus facile que je connais aussi bien. – Ditto
Merci @Ditto pour compléter la réponse, voyons si cela peut aider Tanmay. –
Vous êtes exactement sur la bonne voie. Excel commence effectivement le 1er janvier 1900. Cependant, Microsoft a fait une erreur dès le début, et je crois qu'ils ont décidé de ne jamais y remédier, afin que l'ancien code ne se casse pas. A savoir, ils ont traité 1900 comme une année bissextile (!!!!!) qui provoque maintenant tous ces problèmes. Vous pouvez tester cela très facilement dans Excel (vu que la date après 28/02/1900 est, choquante, 29/2/1900, même si 1900 n'était pas une année bissextile). – mathguy
Cette «valeur décimale», est-ce un nombre de jours, heures, minutes ou secondes ou peut-être quelque chose d'autre? –
Ne sais pas. J'ai extrait la date du fichier EXCEL en utilisant l'outil envahissant et ai obtenu cette valeur décimale. –