DATETIMEDIFF - Bahasa kueri di Cosmos DB (di Azure dan Fabric)

Fungsi mengembalikan DATETIMEDIFF perbedaan, sebagai bilangan bulat yang ditandatangani, dari bagian tanggal dan waktu yang ditentukan antara dua nilai tanggal dan waktu.

Syntax

DATETIMEDIFF(<date_time_part>, <start_date_time>, <end_date_time>)

Arguments

Description
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.fffffffZISO 8601 .
end_date_time String tanggal dan waktu Waktu Universal Terkoordinasi (UTC) dalam format YYYY-MM-DDThh:mm:ss.fffffffZISO 8601 .

Tipe pengembalian

Mengembalikan nilai numerik yang merupakan bilangan bulat bertanda tangan.

Examples

Bagian ini berisi contoh cara menggunakan konstruksi bahasa kueri ini.

Perbedaan tanggal dan waktu

Dalam contoh ini, DATETIMEDIFF fungsi digunakan untuk menghitung perbedaan antara dua tanggal dalam tahun, bulan, hari, jam, dan detik.

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
  }
]

Komentar

  • Format tanggal ISO 8601 menentukan bagian tanggal dan waktu yang valid untuk digunakan dengan fungsi ini: | | Format | | --- | --- | | Tahun | year, yyyy, yy | | Bulan | month, mm, m | | 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 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.
  • 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.