Share via


DateTimeDiff (NoSQL sorgusu)

ŞUNUN IÇIN GEÇERLIDIR: NoSQL

İki tarih ve saat değeri arasındaki belirtilen tarih ve saat bölümünün farkını işaretli 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

Description
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("diffDays", "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("diffDays", "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,
    "diffPastHours": -8075,
    "diffPastSeconds": -29070000,
    "diffFutureYears": 1,
    "diffFutureMonths": 11,
    "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 parçalarını 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. işlevi, zaman aralığının bir ölçüsü değil, belirtilen tarih ve saat bölümü için aşılan sınır sayısının ölçümlerini döndürür.