DateTimeDiff (NoSQL-fråga)
GÄLLER FÖR: NoSQL
Returnerar skillnaden, som ett signerat heltal, för den angivna datum- och tidsdelen mellan två datum- och tidsvärden.
Syntax
DateTimeDiff(<date_time_part>, <start_date_time>, <end_date_time>)
Argument
beskrivning | |
---|---|
date_time_part |
En sträng som representerar en del av en ISO 8601-datumformatspecifikation. Den här delen används för att ange vilken aspekt av datumet som ska jämföras. |
start_date_time |
En utc-datum- och tidssträng (Coordinated Universal Time) i FORMATET ISO 8601 YYYY-MM-DDThh:mm:ss.fffffffZ . |
end_date_time |
En utc-datum- och tidssträng (Coordinated Universal Time) i FORMATET ISO 8601 YYYY-MM-DDThh:mm:ss.fffffffZ . |
Kommentar
Mer information om FORMATET ISO 8601 finns i ISO 8601.
Returtyper
Returnerar ett numeriskt värde som är ett signerat heltal.
Exempel
I följande exempel jämförs 4 februari 2019 16:00 UTC och 5 mars 2018 05:00 UTC med hjälp av olika datum- och tidsdelar.
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
}
]
Kommentarer
- Den här funktionen returnerar
undefined
av följande skäl:- Den angivna datum- och tidsdelen är ogiltig.
- Datum och tid i antingen start- eller slutargumentet är inte en giltig DATUM- och tidssträng för ISO 8601.
- Datumformatet ISO 8601 anger giltiga datum- och tidsdelar som ska användas med den här funktionen: | | Format | | --- | --- | | Dag |
day
,dd
,d
| | Timme |hour
,hh
| | Minut |minute
,mi
,n
| | För det andra |second
,ss
s
| | Millisekunder |millisecond
|ms
| | Mikrosekunder |microsecond
|mcs
| | Nanosekunder |nanosecond
,ns
| - Funktionen returnerar alltid ett signerat heltalsvärde. Funktionen returnerar ett mått på antalet gränser som korsats för den angivna datum- och tidsdelen, inte ett mått på tidsintervallet.