Compartilhar via


DateTimeBin (consulta NoSQL)

APLICA-SE A: NoSQL

Retorna um valor de cadeia de caracteres de data e hora que é o resultado do binning (ou arredondamento) de uma parte da cadeia de caracteres de data e hora fornecida.

Sintaxe

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

Argumentos

Descrição
date_time Uma cadeia de caracteres de data e hora do Tempo Universal Coordenado (UTC) no formato ISO 8601 YYYY-MM-DDThh:mm:ss.fffffffZ.
date_time_part Uma cadeia de caracteres que representa uma parte de uma especificação de formato de data ISO 8601. Essa parte é usada para indicar qual aspecto da data para a lixeira. Especificamente, esse argumento de parte representa o nível de granularidade para binning (ou arredondamento). A granularidade mínima para a parte é em dias e a granularidade máxima é em nanossegundos.
bin_size(Opcional) Um valor numérico opcional que especifica o tamanho da lixeira. Se esse campo não for especificado, o valor padrão será 1.
bin_start_date_time(Opcional) Uma cadeia de caracteres de data e hora do Tempo Universal Coordenado (UTC) no formato ISO 8601 YYYY-MM-DDThh:mm:ss.fffffffZ. Esse argumento de data e hora especifica a data de início para o bin. Se não for especificado, o valor padrão será o a época do Unix 1970-01-01T00:00:00.000000Z.

Observação

Para obter mais informações sobre o formato ISO 8601, consulte ISO 8601. Para obter mais informações sobre a época do Unix, confira Hora do Unix.

Tipos de retorno

Retorna uma cadeia de caracteres de data e hora UTC no formato ISO 8601 YYYY-MM-DDThh:mm:ss.fffffffZ.

Exemplos

O exemplo a seguir faz o bin da data 8 de janeiro de 2021 às 18:35 UTC por vários valores. O exemplo também altera o tamanho do compartimento e a data e hora de início do compartimento.

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

Comentários

  • Essa função retorna undefined por estes motivos:
    • A parte de data e hora especificada é inválida.
    • O valor do tamanho do compartimento não é um inteiro válido, é zero ou é negativo.
    • A data e hora em ambos os argumentos não é uma cadeia de caracteres de data e hora ISO 8601 válida.
    • A data e a hora do início do compartimento precedem o ano 1601, a época do Windows.
  • O formato de data ISO 8601 especifica as partes válidas de data e hora a serem usadas com essa função: | | Formato | | | --- | --- | | Dia | day, dd, d | | Hora | hour, hh | Minuto | minute, mi, n | | Segundo | second, ss, s | | Milissegundos | millisecond, ms | | Microssegundos | microsecond, mcs | Nanossegundos | nanosecond, ns |