DateTimeDiff (NoSQL 查詢)
適用於:NoSQL
傳回兩個日期和時間值之間指定日期和時間部分的帶正負號整數的差異。
語法
DateTimeDiff(<date_time_part>, <start_date_time>, <end_date_time>)
引數
描述 | |
---|---|
date_time_part |
字串,表示 ISO 8601 日期格式規格的一部分。 此部分用來指出要比較之日期的哪個層面。 |
start_date_time |
ISO 8601 格式 YYYY-MM-DDThh:mm:ss.fffffffZ 的國際標準時間 (UTC) 日期和時間字串。 |
end_date_time |
ISO 8601 格式 YYYY-MM-DDThh:mm:ss.fffffffZ 的國際標準時間 (UTC) 日期和時間字串。 |
注意
如需 ISO 8601 格式的詳細資訊,請參閱 ISO 8601。
傳回類型
傳回帶正負號整數的數值。
範例
下列範例會使用各種日期和時間部分,比較 2019 年 2 月 4 日 16:00 UTC 和 2018 年 3 月 5 日 05:00 UTC 。
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
}
]
備註
- 此函式會基於下列原因傳回
undefined
:- 指定的日期和時間部分無效。
- start 或 end 自變數中的日期和時間不是有效的 ISO 8601 日期和時間字串。
- ISO 8601 日期格式會指定要搭配此函式使用的有效日期和時間部分: | |格式 | |--- |--- | | Day |
day
、dd
、d
| | Hour |hour
、hh
| | Minute |minute
、mi
、n
| | 第二 |second
個、ss
、s
| | 毫秒 |millisecond
、ms
| | Microsecond |microsecond
、mcs
| | Nanosecond |nanosecond
,ns
| - 函式一律會傳回帶正負號的整數值。 函式會傳回指定日期和時間部分所交叉界限數目的度量,而不是時間間隔的度量。