Partilhar via


DateTimeBin (consulta NoSQL)

APLICA-SE A: NoSQL

Retorna um valor de cadeia de caracteres de data e hora que é o resultado da vinculação (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

Description
date_time Uma cadeia de caracteres de data e hora UTC (Tempo Universal Coordenado) no formato YYYY-MM-DDThh:mm:ss.fffffffZISO 8601.
date_time_part Uma cadeia de caracteres que representa uma parte de uma especificação de formato de data ISO 8601. Esta parte é usada para indicar qual aspeto da data deve ser compartimentado. Especificamente, esse argumento de parte representa o nível de granularidade para binning (ou arredondamento). A granularidade mínima para a peça é de dias e a granularidade máxima é de nanossegundos.
bin_size(Opcional) Um valor numérico opcional que especifica o tamanho do compartimento. Se não for especificado, o valor padrão será 1.
bin_start_date_time(Opcional) Uma cadeia de caracteres de data e hora UTC (Tempo Universal Coordenado) opcional no formato YYYY-MM-DDThh:mm:ss.fffffffZISO 8601. Este argumento de data e hora especifica a data de início a partir da qual se lixar. Se não for especificado, o valor padrão é a época 1970-01-01T00:00:00.000000ZUnix .

Nota

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

Tipos de devolução

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

Exemplos

O exemplo a seguir agrupa a data de 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"
  }
]

Observações

  • Esta função retorna undefined pelos seguintes motivos:
    • A parte de data e hora especificada é inválida.
    • O valor do tamanho do compartimento não é um número inteiro válido, é zero ou é negativo.
    • A data e a hora em ambos os argumentos não são uma cadeia de caracteres de data e hora ISO 8601 válida.
    • A data e hora para o início do compartimento precede o ano 1601, a época do Windows.
  • O formato de data ISO 8601 especifica as peças de data e hora válidas a serem usadas com esta função: | | Formato | | --- | --- | | Dia | day, dd, d | | Hora | hour, hh | | Ata | minute, mi, n | | Segundo | second, ss, s | | Milissegundo | millisecond, ms | | Microssegundo | microsecond, mcs | | Nanossegundo | nanosecond, ns |