Share via


DateTimeBin (NoSQL-Abfrage)

GILT FÜR: NoSQL

Gibt einen Zeichenfolgenwert für Datum und Uhrzeit zurück, der das Ergebnis der Quantisierung (oder Rundung) eines Teils der angegebenen Datums- und Uhrzeitzeichenfolge ist.

Syntax

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

Argumente

BESCHREIBUNG
date_time Eine Datums- und Uhrzeitzeichenfolge in UTC (Coordinated Universal Time, koordinierte Weltzeit) im ISO 8601-Format YYYY-MM-DDThh:mm:ss.fffffffZ.
date_time_part Eine Zeichenfolge, die einen Teil einer Datumsformatspezifikation im ISO 8601-Format darstellt. Mit diesem Teil wird angegeben, welcher Aspekt des Datums quantisiert werden soll. Insbesondere stellt dieses Teilargument die Granularitätsebene für die Quantisierung (oder Rundung) dar. Die minimale Granularität für den Teil ist Tage und die maximale Granularität Nanosekunden.
bin_size(Optional) Ein optionaler numerischer Wert, der die Größe des Intervalls angibt. Wenn Sie hier nichts angeben, lautet der Standardwert 1.
bin_start_date_time(Optional) Eine optionale Datums- und Uhrzeitzeichenfolge in UTC (Coordinated Universal Time, koordinierte Weltzeit) im ISO 8601-Format YYYY-MM-DDThh:mm:ss.fffffffZ. Dieses Datums- und Uhrzeitargument gibt das Startdatum für die Quantisierung an. Wenn Sie hier nichts angeben, ist der Standardwert die Unix-Epoche 1970-01-01T00:00:00.000000Z.

Hinweis

Weitere Informationen zum ISO 8601-Format finden Sie unter ISO 8601. Weitere Informationen zur Unix-Epoche finden Sie unter Unix-Zeit.

Rückgabetypen

Gibt eine Datums- und Uhrzeitzeichenfolge im ISO 8601-Format YYYY-MM-DDThh:mm:ss.fffffffZ zurück.

Beispiele

Im folgenden Beispiel wird das Datum 8. Januar 2021 um 18:35 Uhr UTC durch verschiedene Werte quantisiert. Das Beispiel ändert auch die Intervallgröße sowie das Startdatum und die Startzeit des Intervalls.

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

Bemerkungen

  • Diese Funktion gibt aus folgenden Gründen undefined zurück:
    • Der angegebene Teil von Datum und Uhrzeit ist ungültig.
    • Der Wert für die Intervallgröße ist keine gültige ganze Zahl, ist null oder negativ.
    • Das Datum und die Uhrzeit in einem der beiden Argumente sind keine gültigen Datums- und Uhrzeitzeichenfolgen im ISO 8601-Format.
    • Das Datum und die Uhrzeit für den Intervallstart liegen vor dem Jahr 1601 (Windows-Epoche).
  • Das ISO 8601-Datumsformat gibt gültige Datums- und Uhrzeitteile an, die mit dieser Funktion verwendet werden sollen: | | Format | | --- | --- | | Tag | day, dd, d | | Stunde | hour, hh | | Minute | minute, mi, n | | Sekunde | second, ss, s | | Millisekunde | millisecond, ms | | Mikrosekunde | microsecond, mcs | | Nanosekunde | nanosecond, ns |