web-dev-qa-db-fra.com

Formule pour convertir la date en nombre

Je voudrais connaître la formule pour convertir une date en 26/10/2013 en nombre 41573 comme dans Excel. Comme comment le 26/10/2013 est converti en 41573.

19
user2401464

Si vous modifiez le format des cellules en général, la valeur de la date de la cellule sera affichée. En arrière-plan, Excel enregistre une date correspondant au nombre de jours écoulés depuis le 01/01/1900.

Screenprint 1

Screenprint 2

Si votre date est du texte et que vous devez la convertir, alors DATEVALUE fera ceci:

Datevalue function

20
Sam

Le nombre Excel pour une date moderne se calcule facilement comme le nombre de jours écoulés depuis le 30/12/1899 du calendrier grégorien.

Excel considère la date mythique 01/00/1900 (c'est-à-dire le 31/12/1899) comme correspondant à 0 et traite incorrectement l'année 1900 comme une année bissextile. Donc, pour les dates antérieures au 03/01/1900, le nombre Excel est en réalité le nombre de jours après le 31/12/1899.

Cependant, Excel ne formera pas les nombres inférieurs à 0 (-1 vous donne ##########), ce qui importe donc uniquement pour "01/00/1900" au 28/02/1900, ce qui facilite la utilisez simplement la date du 30/12/1899 comme base.

Une fonction complète dans DB2 SQL prenant en compte l’erreur de l’année bissextile 1900:

SELECT
   DAYS(INPUT_DATE)                 
   - DAYS(DATE('1899-12-30'))
   - CASE                       
        WHEN INPUT_DATE < DATE('1900-03-01')  
           THEN 1               
           ELSE 0               
     END
23
Coyne Tibbets