DateTimeDiff (استعلام NoSQL)

ينطبق على: NoSQL

إرجاع الفرق، كعدد صحيح موقع، للتاريخ المحدد وجزء الوقت بين قيمتي التاريخ والوقت.

بناء الجملة

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

الوسيطات

‏‏الوصف
date_time_part سلسلة تمثل جزءا من مواصفات تنسيق التاريخ ISO 8601. يستخدم هذا الجزء للإشارة إلى جانب التاريخ المراد مقارنته.
start_date_time سلسلة التاريخ والوقت العالمي المتفق عليه (UTC) بتنسيق YYYY-MM-DDThh:mm:ss.fffffffZISO 8601 .
end_date_time سلسلة التاريخ والوقت العالمي المتفق عليه (UTC) بتنسيق YYYY-MM-DDThh:mm:ss.fffffffZISO 8601 .

إشعار

لمزيد من المعلومات حول تنسيق ISO 8601، راجع ISO 8601.

أنواع الإعادة

إرجاع قيمة رقمية عبارة عن عدد صحيح موقع.

الأمثلة

تقارن الأمثلة التالية بين 4 فبراير 2019 16:00 بالتوقيت العالمي المتفق عليه و5 مارس 2018 05:00 بالتوقيت العالمي المتفق عليه باستخدام أجزاء مختلفة من التاريخ والوقت.

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 هذه الدالة للأسباب التالية:
    • جزء الوقت والتاريخ المحدد غير صحيح.
    • التاريخ والوقت في وسيطة البدء أو النهاية ليست سلسلة تاريخ ووقت ISO 8601 صالحة.
  • يحدد تنسيق التاريخ ISO 8601 أجزاء التاريخ والوقت الصالحة لاستخدامها مع هذه الدالة: | | تنسيق | | --- | --- | | اليوم | day، dd، | | dساعة | hour، hh | | دقيقة | minute، mi، n | | ثانيا | second، ss، | s | مللي ثانية | millisecond، ms | | ميكرو ثانية | microsecond، mcs | | Nanosecond | nanosecond،ns |
  • ترجع الدالة دائما قيمة عدد صحيح موقع. ترجع الدالة قياسا لعدد الحدود التي تم تجاوزها للتاريخ المحدد وجزء الوقت، وليس قياسا للفاصل الزمني.