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.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("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.