Udostępnij za pośrednictwem


DateTimeDiff (zapytanie NoSQL)

DOTYCZY: NoSQL

Zwraca różnicę jako liczbę całkowitą ze znakiem określonej części daty i godziny między dwiema wartościami daty i godziny.

Składnia

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

Argumenty

opis
date_time_part Ciąg reprezentujący część specyfikacji formatu daty ISO 8601. Ta część służy do wskazywania, który aspekt daty ma być porównywany.
start_date_time Ciąg daty i godziny koordynowanego czasu uniwersalnego (UTC) w formacie YYYY-MM-DDThh:mm:ss.fffffffZISO 8601.
end_date_time Ciąg daty i godziny koordynowanego czasu uniwersalnego (UTC) w formacie YYYY-MM-DDThh:mm:ss.fffffffZISO 8601.

Uwaga

Aby uzyskać więcej informacji na temat formatu ISO 8601, zobacz ISO 8601.

Typy zwracane

Zwraca wartość liczbową, która jest podpisaną liczbą całkowitą.

Przykłady

W poniższych przykładach porównamy 4 lutego 2019 r. 16:00 UTC i 5 marca 2018 r. 05:00 UTC przy użyciu różnych części daty i godziny.

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

Uwagi

  • Ta funkcja zwraca undefined następujące przyczyny:
    • Określona część daty i godziny jest nieprawidłowa.
    • Data i godzina w argumencie początkowym lub końcowym nie jest prawidłowym ciągiem daty i godziny ISO 8601.
  • Format daty ISO 8601 określa prawidłowe części daty i godziny do użycia z tą funkcją: | | Format | | --- | --- | | Dzień | day, dd, d | | Godzina | hour, hh | | Minuta | minute, mi, n | | Drugi | second, ss, s | | Milisekundy | millisecond, ms | | Mikrosekundy | microsecond, mcs | | Nanosekundy | nanosecond, ns |
  • Funkcja zawsze zwraca podpisaną wartość całkowitą. Funkcja zwraca pomiar liczby granic przekraczanych przez określoną część daty i godziny, a nie pomiar interwału czasu.