Udostępnij za pośrednictwem


DateTimeBin (zapytanie NoSQL)

DOTYCZY: NoSQL

Zwraca wartość ciągu daty i godziny, która jest wynikiem kwantowania (lub zaokrąglania) części podanego ciągu daty i godziny.

Składnia

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

Argumenty

opis
date_time Ciąg daty i godziny koordynowanego czasu uniwersalnego (UTC) w formacie YYYY-MM-DDThh:mm:ss.fffffffZISO 8601.
date_time_part Ciąg reprezentujący część specyfikacji formatu daty ISO 8601. Ta część służy do wskazywania, który aspekt daty do przedziału. W szczególności ten argument części reprezentuje poziom szczegółowości kwantowania (lub zaokrąglania). Minimalny stopień szczegółowości części to dni , a maksymalny stopień szczegółowości to nanosekundy.
bin_size(Opcjonalnie) Opcjonalna wartość liczbowa określająca rozmiar pojemnika. Jeśli nie zostanie określony, wartość domyślna to 1.
bin_start_date_time(Opcjonalnie) Opcjonalny ciąg daty i godziny koordynowanej uniwersalnej godziny (UTC) w formacie YYYY-MM-DDThh:mm:ss.fffffffZISO 8601. Ten argument daty i godziny określa datę rozpoczęcia do przedziału. Jeśli nie zostanie określona, wartość domyślna to epoka 1970-01-01T00:00:00.000000Zsystemu Unix.

Uwaga

Aby uzyskać więcej informacji na temat formatu ISO 8601, zobacz ISO 8601. Aby uzyskać więcej informacji na temat epoki systemu Unix, zobacz Czas systemu Unix.

Typy zwracane

Zwraca ciąg daty i godziny UTC w formacie YYYY-MM-DDThh:mm:ss.fffffffZISO 8601 .

Przykłady

Poniższy przykład binuje datę 8 stycznia 2021 r. o 18:35 UTC według różnych wartości. Przykład zmienia również rozmiar pojemnika oraz datę i godzinę rozpoczęcia pojemnika.

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

Uwagi

  • Ta funkcja zwraca undefined następujące przyczyny:
    • Określona część daty i godziny jest nieprawidłowa.
    • Wartość rozmiaru pojemnika nie jest prawidłową liczbą całkowitą, ma wartość zero lub jest ujemna.
    • Data i godzina w obu argumentach nie są prawidłowym ciągiem daty i godziny ISO 8601.
    • Data i godzina rozpoczęcia pojemnika poprzedza rok 1601, epokę systemu Windows.
  • Format daty ISO 8601 określa prawidłowe części daty i godziny do użycia z tą funkcją: | | Format | | --- | --- | | Dzień | day, dd, d | | Godzina | hour, hh | | Minuta | minute, mi, n | | Drugi | second, ss, s | | Milisekundy | millisecond, ms | | Mikrosekundy | microsecond, mcs | | Nanosekundy | nanosecond, ns |