Aracılığıyla paylaş


DATETIMEBIN - Cosmos DB'de sorgu dili (Azure ve Doku'da)

İşlev, DATETIMEBIN sağlanan tarih ve saat dizesinin bir bölümünü gruplandırma (veya yuvarlama) sonucu olan bir tarih ve saat dizesi değeri döndürür.

Sözdizimi

DATETIMEBIN(<date_time>, <date_time_part> [, <bin_size>] [, <bin_start_date_time>])

Arguments

Description
date_time ISO 8601 biçiminde YYYY-MM-DDThh:mm:ss.fffffffZeşgüdümlü Evrensel Saat (UTC) tarih ve saat dizesi.
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 depo gözüne kullanılacağını belirtmek için kullanılır.
bin_size Bölmenin boyutunu belirten isteğe bağlı sayısal değer. Belirtilmezse, varsayılan değer olur 1.
bin_start_date_time ISO 8601 biçiminde isteğe bağlı bir UTC tarih ve saat dizesi. Belirtilmezse, varsayılan değer Unix dönemidir 1970-01-01T00:00:00.000000Z.

Dönüş türleri

Tarih ve saat dizesi değeri döndürür.

Örnekler

Bu bölüm, bu sorgu dili yapısının nasıl kullanılacağına örnekler içerir.

Bin tarih ve saat değerleri

Bu örnekte işlev, DATETIMEBIN tarih ve saati gün, saat, saniye, özel bölme boyutları ve başlangıç tarihleriyle bölmek için kullanılır.

SELECT VALUE {
  binDay: DATETIMEBIN("2021-01-08T18:35:00.0000000", "dd"),
  binHour: DATETIMEBIN("2021-01-08T18:35:00.0000000", "hh"),
  binSecond: DATETIMEBIN("2021-01-08T18:35:00.0000000", "ss"),
  binFiveHours: DATETIMEBIN("2021-01-08T18:35:00.0000000", "hh", 5),
  binSevenDaysUnixEpoch: DATETIMEBIN("2021-01-08T18:35:00.0000000", "dd", 7),
  binSevenDaysWindowsEpoch: DATETIMEBIN("2021-01-08T18:35:00.0000000", "dd", 7, "1601-01-01T00:00:00.0000000")
}
[
  {
    "binDay": "2021-01-08T00:00:00.0000000Z",
    "binHour": "2021-01-08T18:00:00.0000000Z",
    "binSecond": "2021-01-08T18:35:00.0000000Z",
    "binFiveHours": "2021-01-08T15:00:00.0000000Z",
    "binSevenDaysUnixEpoch": "2021-01-07T00:00:00.0000000Z",
    "binSevenDaysWindowsEpoch": "2021-01-04T00:00:00.0000000Z"
  }
]

Açıklamalar

  • Bu işlev şu nedenlerle döndürülüyor undefined :
  • Belirtilen tarih ve saat bölümü geçersiz.
  • Bölme boyutu değeri geçerli bir tamsayı değil, sıfır veya negatif.
  • Her iki bağımsız değişkendeki tarih ve saat geçerli bir ISO 8601 tarih ve saat dizesi değildir.
  • Bölme başlangıcı için tarih ve saat, Windows dönemi olan '1601' yılından öncedir.
  • ISO 8601 tarih biçimi, bu işlevle kullanılacak geçerli tarih ve saat bölümlerini belirtir: | | Biçim | | --- | --- | | Yıl | year, yyyy, yy | | Ay | month, mm, m | | 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 |