Condividi tramite


DateTimeBin (query NoSQL)

SI APPLICA A: NoSQL

Restituisce un valore stringa di data e ora risultante dall'arrotondamento (o arrotondamento) di una parte della stringa di data e ora specificata.

Sintassi

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

Argomenti

Descrizione
date_time Stringa di data e ora UTC (Coordinated Universal Time) nel formato YYYY-MM-DDThh:mm:ss.fffffffZISO 8601 .
date_time_part Stringa che rappresenta una parte di una specifica del formato di data ISO 8601. Questa parte viene utilizzata per indicare l'aspetto della data da binare. In particolare, questo argomento della parte rappresenta il livello di granularità per l'arrotondamento (o l'arrotondamento). La granularità minima per la parte è giorni e la granularità massima è nanosecondi.
bin_size(opzionale) Valore numerico facoltativo che specifica le dimensioni del bin. Se non è specificato, il valore predefinito è 1.
bin_start_date_time(opzionale) Stringa di data e ora UTC (Coordinated Universal Time) facoltativa nel formato YYYY-MM-DDThh:mm:ss.fffffffZISO 8601 . Questo argomento di data e ora specifica la data di inizio da cui eseguire il bin. Se non specificato, il valore predefinito è l'epoca 1970-01-01T00:00:00.000000ZUnix .

Nota

Per altre informazioni sul formato ISO 8601, vedere ISO 8601. Per altre informazioni sull'epoca Unix, vedere Ora Unix.

Tipi restituiti

Restituisce una stringa di data e ora UTC nel formato YYYY-MM-DDThh:mm:ss.fffffffZISO 8601 .

Esempi

Nell'esempio seguente viene memorizzata la data 8 gennaio 2021 alle 18:35 UTC per vari valori. L'esempio modifica anche le dimensioni del contenitore e la data e l'ora di inizio del contenitore.

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

Osservazioni:

  • Questa funzione restituisce undefined per questi motivi:
    • La parte di data e ora specificata non è valida.
    • Il valore della dimensione del contenitore non è un numero intero valido, è zero o è negativo.
    • La data e l'ora in entrambi gli argomenti non sono una stringa di data e ora ISO 8601 valida.
    • La data e l'ora dell'inizio del bin precedono l'anno 1601, l'epoca di Windows.
  • Il formato di data ISO 8601 specifica parti di data e ora valide da utilizzare con questa funzione: | | Formato | | | --- | --- | | Giorno | day, dd, d | | Hour | hour, hh | | Minute | minute, mi, , n | | Secondo | second, ss, s | | Millisecondo | millisecond, ms | | Microsecondo | microsecond, mcs | | Nanosecondo | nanosecond, ns |