DateTimeDiff (NoSQL sorgusu)

UYGULANANLAR: NoSQL

belirtilen tarih ve saat bölümünün iki tarih ve saat değeri arasındaki farkını, imzalı bir tamsayı olarak döndürür.

Söz dizimi

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

Bağımsız değişkenler

Açıklama
date_time_part ISO 8601 tarih biçimi belirtiminin bir bölümünü temsil eden dize. Bu bölüm, tarihin hangi yönünün karşılaştırılabileceğini belirtmek için kullanılır.
start_date_time ISO 8601 biçiminde YYYY-MM-DDThh:mm:ss.fffffffZeşgüdümlü Evrensel Saat (UTC) tarih ve saat dizesi.
end_date_time ISO 8601 biçiminde YYYY-MM-DDThh:mm:ss.fffffffZeşgüdümlü Evrensel Saat (UTC) tarih ve saat dizesi.

Not

ISO 8601 biçimi hakkında daha fazla bilgi için bkz . ISO 8601.

Dönüş türleri

İmzalı bir tamsayı olan sayısal bir değer döndürür.

Örnekler

Aşağıdaki örnekler çeşitli tarih ve saat parçalarını kullanarak 4 Şubat 2019 16:00 UTC ile 5 Mart 2018 05:00 UTC'yi karşılaştırır.

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

Açıklamalar

  • Bu işlev şu nedenlerle döndürülüyor undefined :
    • Belirtilen tarih ve saat bölümü geçersiz.
    • Başlangıç veya bitiş bağımsız değişkenindeki tarih ve saat geçerli bir ISO 8601 tarih ve saat dizesi değildir.
  • ISO 8601 tarih biçimi, bu işlevle kullanılacak geçerli tarih ve saat bölümlerini belirtir: | | Biçim | | --- | --- | | Gün | day, dd, d | | Saat | hour, hh | | Minute | minute, mi, n | | İkinci | second, ss, s | | Milisaniye | millisecond, ms | | Mikrosaniye | microsecond, mcs | | Nanosaniye | nanosecond, ns |
  • İşlev her zaman imzalı bir tamsayı değeri döndürür. İşlev, belirtilen tarih ve saat bölümü için kesişen sınır sayısının ölçümlerini döndürür, zaman aralığının ölçümlerini döndürmez.