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.fffffffZ ISO 8601. |
end_date_time |
Ciąg daty i godziny koordynowanego czasu uniwersalnego (UTC) w formacie YYYY-MM-DDThh:mm:ss.fffffffZ ISO 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.