0

Unterschiedliche Ergebnisse bei der Verarbeitung einer Datums-Substraktion

Wenn ich zwei Dates voneinader abziehe, und das Ergebnis direkt verwende, so kommt ja ein String dabei raus:

date(2021,10,31) - date(2021,10,8)

Ergebnis: "23 Tage"

 

Was nach Adam Riese auch korrekt ist. Wenn ich das ganze aber durch die day()-Funktion laiufen lasse, kommt ein anderes Ergebnis bei raus:

day(date(2021,10,31) - date(2021,10,8))

Ergebnis: 24

 

Was zum Henker?

 

Bemühe ich die number-Funktion, kommt das richtige Ergebnis:

number(date(2021,10,31) - date(2021,10,8))

Ergebnis: 1987200000 (das sind 23 Tage)

 

verwende ich day auf die number-Funktion:

day(number(date(2021,10,31) - date(2021,10,8)))

Ergebnis: 24

ist das wieder falsch. GEnauso, wenn ich day auf die Anzahl Millisekunden direkt verwende.

 

Kann es sein, dass day einen Bug hat?

2 Antworten

null
    • Torsten_Stang.1
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Öhm, das sagt die Doku zu day():

     

    day(date) – Day of month of the given date (between 1 and 31)
    day(datetime) – Day of month of the given date+time value
    day(appointment) – Day of month of the start date of the given appointment
    day(number) – Converts a number to a date value and returns the day of the date.

    wohingegen

    days(start, end) – Number of days between two dates.

    Dich eher zum Ziel führen dürfte.

    • AWO Mönchengladbach
    • Sebastian_Urbanneck
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Verdammt! Da war was!

     

    Danke; ich werde dann days verwenden.

Content aside

  • vor 2 JahrenZuletzt aktiv
  • 2Antworten
  • 172Ansichten