DateTimeDiff (kueri NoSQL)
BERLAKU UNTUK: NoSQL
Mengembalikan perbedaan, sebagai bilangan bulat yang ditandatangani, dari bagian tanggal dan waktu yang ditentukan antara dua nilai tanggal dan waktu.
Sintaks
DateTimeDiff(<date_time_part>, <start_date_time>, <end_date_time>)
Argumen
Deskripsi | |
---|---|
date_time_part |
String yang mewakili bagian dari spesifikasi format tanggal ISO 8601. Bagian ini digunakan untuk menunjukkan aspek tanggal mana yang akan dibandingkan. |
start_date_time |
String tanggal dan waktu Waktu Universal Terkoordinasi (UTC) dalam format YYYY-MM-DDThh:mm:ss.fffffffZ ISO 8601 . |
end_date_time |
String tanggal dan waktu Waktu Universal Terkoordinasi (UTC) dalam format YYYY-MM-DDThh:mm:ss.fffffffZ ISO 8601 . |
Catatan
Untuk informasi selengkapnya tentang format ISO 8601, lihat ISO 8601.
Jenis yang dikembalikan
Mengembalikan nilai numerik yang merupakan bilangan bulat bertanda tangan.
Contoh
Contoh berikut membandingkan 4 Februari 2019 16:00 UTC dan 5 Maret 2018 05:00 UTC menggunakan berbagai bagian tanggal dan waktu.
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
}
]
Keterangan
- Fungsi ini kembali
undefined
karena alasan berikut:- Bagian tanggal dan waktu yang ditentukan tidak valid.
- Tanggal dan waktu dalam argumen mulai atau akhir bukan string tanggal dan waktu ISO 8601 yang valid.
- Format tanggal ISO 8601 menentukan bagian tanggal dan waktu yang valid untuk digunakan dengan fungsi ini: | | Format | | --- | --- | | Hari |
day
,dd
,d
| | Jam |hour
,hh
| | Menit |minute
,mi
,n
| | Kedua |second
,ss
,s
| | Milidetik |millisecond
,ms
| | Microsecond |microsecond
,mcs
| | Nanodetik |nanosecond
,ns
| - Fungsi selalu mengembalikan nilai bilangan bulat yang ditandatangani. Fungsi mengembalikan pengukuran jumlah batas yang disilangkan untuk bagian tanggal dan waktu yang ditentukan, bukan pengukuran interval waktu.