Sdílet prostřednictvím


DATETIMEDIFF – Dotazovací jazyk ve službě Cosmos DB (v Azure a prostředcích infrastruktury)

Funkce DATETIMEDIFF vrátí rozdíl jako celé číslo se dvěma hodnotami data a času zadaného data a času.

Syntaxe

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

Arguments

Description
date_time_part Řetězec představující část specifikace formátu data ISO 8601. Tato část slouží k označení, který aspekt data se má porovnat.
start_date_time Řetězec data a času koordinovaného univerzálního času (UTC) ve formátu YYYY-MM-DDThh:mm:ss.fffffffZISO 8601 .
end_date_time Řetězec data a času koordinovaného univerzálního času (UTC) ve formátu YYYY-MM-DDThh:mm:ss.fffffffZISO 8601 .

Návratové typy

Vrátí číselnou hodnotu, která je celé číslo se dvěma čísly.

Examples

Tato část obsahuje příklady použití tohoto konstruktoru dotazovacího jazyka.

Rozdíl mezi datem a časem

V tomto příkladu DATETIMEDIFF se funkce používá k výpočtu rozdílu mezi dvěma daty v letech, měsících, dnech, hodinách a sekundách.

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
  }
]

Poznámky

  • Formát data ISO 8601 určuje platné části data a času, které se mají použít s touto funkcí: | | Formát | | --- | --- | | Rok | year, | yyyyyy| Month | month, , mmm| | Den | day, | ddd| Hodina | hour, hh | | Minuta | minute, | min | Sekunda | second, | sss | Milisekundy | millisecond, ms | | Mikrosekundy | microsecond, mcs | | Nanosekundová | nanosecondns |
  • Tato funkce se vrátí undefined z těchto důvodů:
  • Zadaná část data a času je neplatná.
  • Datum a čas v argumentu začátek nebo konec není platným řetězcem data a času ISO 8601 .
  • Funkce vždy vrátí celočíselnou hodnotu se signed. Funkce vrátí měření počtu hranic překračovaných pro zadanou část data a času, nikoli měření časového intervalu.