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.fffffffZ eşgüdümlü Evrensel Saat (UTC) tarih ve saat dizesi. |
end_date_time |
ISO 8601 biçiminde YYYY-MM-DDThh:mm:ss.fffffffZ eş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.