Delen via


DATETIMEDIFF - Querytaal in Cosmos DB (in Azure en Fabric)

De DATETIMEDIFF functie retourneert het verschil, als een ondertekend geheel getal, van de opgegeven datum- en tijdgedeelte tussen twee datum- en tijdwaarden.

Syntaxis

DATETIMEDIFF(<date_time_part>, <start_date_time>, <end_date_time>)

Arguments

Description
date_time_part Een tekenreeks die een deel van een ISO 8601-datumnotatiespecificatie vertegenwoordigt. Dit onderdeel wordt gebruikt om aan te geven welk aspect van de datum moet worden vergeleken.
start_date_time Een UTC-datum- en tijdtekenreeks (Coordinated Universal Time) in de ISO 8601-indeling YYYY-MM-DDThh:mm:ss.fffffffZ.
end_date_time Een UTC-datum- en tijdtekenreeks (Coordinated Universal Time) in de ISO 8601-indeling YYYY-MM-DDThh:mm:ss.fffffffZ.

Retourtypen

Retourneert een numerieke waarde die een ondertekend geheel getal is.

Voorbeelden

Deze sectie bevat voorbeelden van het gebruik van deze querytaalconstructie.

Datum- en tijdverschil

In dit voorbeeld wordt de DATETIMEDIFF functie gebruikt om het verschil tussen twee datums in jaren, maanden, dagen, uren en seconden te berekenen.

SELECT VALUE {
  diffPastYears: DATETIMEDIFF("yyyy", "2019-02-04T16:00:00.0000000", "2018-03-05T05:00:00.0000000"),
  diffPastMonths: DATETIMEDIFF("mm", "2019-02-04T16:00:00.0000000", "2018-03-05T05:00:00.0000000"),
  diffPastDays: DATETIMEDIFF("dd", "2019-02-04T16:00:00.0000000", "2018-03-05T05:00:00.0000000"),
  diffPastHours: DATETIMEDIFF("hh", "2019-02-04T16:00:00.0000000", "2018-03-05T05:00:00.0000000"),
  diffPastSeconds: DATETIMEDIFF("ss", "2019-02-04T16:00:00.0000000", "2018-03-05T05:00:00.0000000"),
  diffFutureYears: DATETIMEDIFF("yyyy", "2018-03-05T05:00:00.0000000", "2019-02-04T16:00:00.0000000"),
  diffFutureMonths: DATETIMEDIFF("mm", "2018-03-05T05:00:00.0000000", "2019-02-04T16:00:00.0000000"),
  diffFutureDays: DATETIMEDIFF("dd", "2018-03-05T05:00:00.0000000", "2019-02-04T16:00:00.0000000"),
  diffFutureHours: DATETIMEDIFF("hh", "2018-03-05T05:00:00.0000000", "2019-02-04T16:00:00.0000000"),
  diffFutureSeconds: DATETIMEDIFF("ss", "2018-03-05T05:00:00.0000000", "2019-02-04T16:00:00.0000000")
}
[
  {
    "diffPastYears": -1,
    "diffPastMonths": -11,
    "diffPastDays": -336,
    "diffPastHours": -8075,
    "diffPastSeconds": -29070000,
    "diffFutureYears": 1,
    "diffFutureMonths": 11,
    "diffFutureDays": 336,
    "diffFutureHours": 8075,
    "diffFutureSeconds": 29070000
  }
]

Opmerkingen

  • De ISO 8601-datumnotatie geeft geldige datum- en tijdonderdelen op die moeten worden gebruikt met deze functie: | | Opmaak | | --- | --- | | Jaar | year, yyyyyy | | Maand | month, mmm | | Dag | day, ddd | | Uur | hour, hh | | Minuut | minute, min | | Tweede | second, sss | | Milliseconden | millisecond, ms | Microseconde | microsecond, mcs | | Nanoseconden | nanosecond,ns |
  • Deze functie retourneert undefined om deze redenen:
  • Het opgegeven datum- en tijdgedeelte is ongeldig.
  • De datum en tijd in het begin- of eindargument zijn geen geldige ISO 8601-datum - en tijdtekenreeks.
  • De functie retourneert altijd een ondertekend geheel getal. De functie retourneert een meting van het aantal grenzen dat is overschreden voor het opgegeven datum- en tijdgedeelte, niet een meting van het tijdsinterval.