DateTimeDiff (dotaz NoSQL)
PLATÍ PRO: NoSQL
Vrátí rozdíl v zadané části data a času mezi dvěma hodnotami data a času jako celé číslo.
Syntaxe
DateTimeDiff(<date_time_part>, <start_date_time>, <end_date_time>)
Argumenty
Popis | |
---|---|
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.fffffffZ ISO 8601 . |
end_date_time |
Řetězec data a času koordinovaného univerzálního času (UTC) ve formátu YYYY-MM-DDThh:mm:ss.fffffffZ ISO 8601 . |
Poznámka:
Další informace o formátu ISO 8601 naleznete v tématu ISO 8601.
Návratové typy
Vrátí číselnou hodnotu, která je celé číslo se dvěma čísly.
Příklady
Následující příklady porovnávají 4. února 2019 16:00 UTC a 5. března 2018 05:00 UTC s použitím různých částí data a času.
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
- 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.
- Formát data ISO 8601 určuje platné části data a času, které se mají použít s touto funkcí: | | Formát | | --- | --- | | Den |
day
, |d
dd
| Hodina |hour
,hh
| | Minuta |minute
, | |mi
n
Sekunda |second
, | |ss
s
Milisekundy |millisecond
,ms
| | Mikrosekundy |microsecond
,mcs
| | Nanosekundová |nanosecond
ns
| - 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.