Comparteix a través de


DateTimeBin (consulta NoSQL)

SE APLICA A: NoSQL

Devuelve un valor de cadena de fecha y hora que es el resultado de la discretización (o redondeo) de una parte de la cadena de fecha y hora proporcionada.

Sintaxis

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

Argumentos

Descripción
date_time Cadena de fecha y hora de hora universal coordinada (UTC) en el formato ISO 8601 YYYY-MM-DDThh:mm:ss.fffffffZ.
date_time_part Cadena que representa una parte de una especificación de formato de fecha ISO 8601. Esta parte se usa para indicar qué aspecto de la fecha se incluirá en el redondeo. En concreto, este argumento de parte representa el nivel de granularidad para la discretización (o redondeo). La granularidad mínima de la parte es días y la granularidad máxima es nanosegundos.
bin_size(Opcional) Valor numérico opcional que especifica el tamaño del redondeo. Si no se especifica, el valor predeterminado es 1.
bin_start_date_time(Opcional) Cadena opcional de fecha y hora de hora universal coordinada(UTC) en el formato ISO 8601 YYYY-MM-DDThh:mm:ss.fffffffZ. Este argumento de fecha y hora especifica la fecha de inicio desde la que se va a redondear. Si no se especifica, el valor predeterminado será la época de Unix 1970-01-01T00:00:00.000000Z.

Nota

Para más información sobre el formato ISO 8601, consulte ISO_8601. Para obtener más información sobre la época de Unix, consulte Hora de Unix.

Tipos de valores devueltos

Devuelve una cadena de fecha y hora UTC en el formato ISO 8601 YYYY-MM-DDThh:mm:ss.fffffffZ.

Ejemplos

En el ejemplo siguiente, se hacen redondeos de la fecha 8 de enero de 2021 a las 18:35 UTC por varios valores. En el ejemplo también se cambia el tamaño del redondeo y la fecha y hora de inicio del redondeo.

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

Comentarios

  • Esta función devuelve undefined por estas razones:
    • La parte de fecha y hora especificadas no es válida.
    • El valor del tamaño del redondeo no es un entero válido, es cero o negativo.
    • La fecha y hora de cada argumento no es una cadena de fecha y hora ISO 8601 válida.
    • La fecha y hora de inicio del redondeo precede al año 1601, la época de Windows.
  • El formato de fecha ISO 8601 especifica partes de fecha y hora válidas que se usarán con esta función: | | Formato | | --- | --- | | Día | day, dd, d | | Hora | hour, hh | | Minuto | minute, mi, n | | Segundo | second, ss, s | | Milisegundo | millisecond, ms | | Microsegundo | microsecond, mcs | | Nanosegundo | nanosecond, ns |