

Para recursos semelhantes aos do Amazon Timestream para, considere o Amazon Timestream LiveAnalytics para InfluxDB. Ele oferece ingestão de dados simplificada e tempos de resposta de consulta de um dígito em milissegundos para análises em tempo real. Saiba mais [aqui](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Funções de data e hora
<a name="date-time-functions"></a>

**nota**  
O Timestream for LiveAnalytics não suporta valores de tempo negativos. Qualquer operação que resulte em tempo negativo resulta em erro.

Timestream for LiveAnalytics usa o fuso horário UTC para data e hora. O Timestream suporta as seguintes funções de data e hora.

**Topics**
+ [Geral e conversão](#date-time-functions-general)
+ [Intervalo e duração](#date-time-functions-interval-duration)
+ [Formatação e análise](#date-time-functions-formatting-parsing)
+ [Extração](#date-time-functions-extraction)

## Geral e conversão
<a name="date-time-functions-general"></a>

O Timestream for LiveAnalytics suporta as seguintes funções gerais e de conversão para data e hora.


| Função | Tipo de dados de saída | Description | 
| --- | --- | --- | 
| current\_date | date | Retorna a data atual em UTC. Nenhum parêntese foi usado.<pre>SELECT current_date</pre><br />Exemplo de resultado: `2022-07-07` Essa também é uma palavra-chave reservada. Para obter uma lista de palavras-chave reservadas, consulte [Palavras-chave reservadas](ts-limits.md#limits.reserved).  | 
| current\_time | horário | Retorna a hora atual em UTC. Nenhum parêntese foi usado.<pre>SELECT current_time</pre><br />Exemplo de resultado: `17:41:52.827000000` Essa também é uma palavra-chave reservada. Para obter uma lista de palavras-chave reservadas, consulte [Palavras-chave reservadas](ts-limits.md#limits.reserved).  | 
| current\_timestamp or now() | timestamp | Retorna o registro de data e hora atual em UTC.<pre>SELECT current_timestamp</pre><br />Exemplo de resultado: `2022-07-07 17:42:32.939000000` Essa também é uma palavra-chave reservada. Para obter uma lista de palavras-chave reservadas, consulte [Palavras-chave reservadas](ts-limits.md#limits.reserved).  | 
| current\_timezone() | varchar<br />O valor será 'UTC'. | O Timestream usa o fuso horário UTC para data e hora.<pre>SELECT current_timezone()</pre><br />Exemplo de resultado: `UTC` | 
| date(varchar(x)), date(timestamp) | date | <pre>SELECT date(TIMESTAMP '2022-07-07 17:44:43.771000000')</pre>Exemplo de resultado: `2022-07-07` | 
| last\_day\_of\_month(timestamp), last\_day\_of\_month(date) | date | <pre>SELECT last_day_of_month(TIMESTAMP '2022-07-07 17:44:43.771000000')</pre>Exemplo de resultado: `2022-07-31` | 
| from\_iso8601\_timestamp(string) | timestamp | Analisa o registro de data e hora ISO 8601 em formato de registro de data e hora interno.<pre>SELECT from_iso8601_timestamp('2022-06-17T08:04:05.000000000+05:00')</pre><br />Exemplo de resultado: `2022-06-17 03:04:05.000000000` | 
| from\_iso8601\_date(string) | date | Analisa a string de data ISO 8601 em formato de registro de data e hora interno para UTC 00:00:00 da data especificada.<pre>SELECT from_iso8601_date('2022-07-17')</pre><br />Exemplo de resultado: `2022-07-17` | 
| to\_iso8601(timestamp), to\_iso8601(date) | varchar | Retorna uma string formatada em ISO 8601 para a entrada.<pre>SELECT to_iso8601(from_iso8601_date('2022-06-17'))</pre><br />Exemplo de resultado: `2022-06-17` | 
| from\_milliseconds(bigint) | timestamp | <pre>SELECT from_milliseconds(1)</pre>Exemplo de resultado: `1970-01-01 00:00:00.001000000` | 
| from\_nanoseconds(bigint) | timestamp | <pre>select from_nanoseconds(300000001)</pre>Exemplo de resultado: `1970-01-01 00:00:00.300000001` | 
| from\_unixtime(double) | timestamp | Retorna um registro de data e hora que corresponde ao unixtime fornecido.<pre>SELECT from_unixtime(1)</pre><br />Exemplo de resultado: `1970-01-01 00:00:01.000000000` | 
| localtime | horário | Retorna a hora atual em UTC. Nenhum parêntese foi usado.<pre>SELECT localtime</pre><br />Exemplo de resultado: `17:58:22.654000000` Essa também é uma palavra-chave reservada. Para obter uma lista de palavras-chave reservadas, consulte [Palavras-chave reservadas](ts-limits.md#limits.reserved).  | 
| localtimestamp | timestamp | Retorna o registro de data e hora atual em UTC. Nenhum parêntese foi usado.<pre>SELECT localtimestamp</pre><br />Exemplo de resultado: `2022-07-07 17:59:04.368000000` Essa também é uma palavra-chave reservada. Para obter uma lista de palavras-chave reservadas, consulte [Palavras-chave reservadas](ts-limits.md#limits.reserved).  | 
| to\_milliseconds(interval day to second), to\_milliseconds(timestamp) | bigint | <pre>SELECT to_milliseconds(INTERVAL '2' DAY + INTERVAL '3' HOUR)</pre>Exemplo de resultado: `183600000`<pre>SELECT to_milliseconds(TIMESTAMP '2022-06-17 17:44:43.771000000')</pre><br />Exemplo de resultado: `1655487883771` | 
| to\_nanoseconds(interval day to second), to\_nanoseconds(timestamp) | bigint | <pre>SELECT to_nanoseconds(INTERVAL '2' DAY + INTERVAL '3' HOUR)</pre>Exemplo de resultado: `183600000000000`<pre>SELECT to_nanoseconds(TIMESTAMP '2022-06-17 17:44:43.771000678')</pre><br />Exemplo de resultado: `1655487883771000678` | 
| to\_unixtime(timestamp) | double | Retorna unixtime para o registro de data e hora fornecido.<pre>SELECT to_unixtime('2022-06-17 17:44:43.771000000')</pre><br />Exemplo de resultado: `1.6554878837710001E9` | 
| date\_trunc(unit, timestamp) | timestamp | Retorna o registro de data e hora truncado para a unidade, onde a unidade é [segundo, minuto, hora, dia, semana, mês, trimestre ou ano].<pre>SELECT date_trunc('minute', TIMESTAMP '2022-06-17 17:44:43.771000000')</pre><br />Exemplo de resultado: `2022-06-17 17:44:00.000000000` | 

## Intervalo e duração
<a name="date-time-functions-interval-duration"></a>

O Timestream for LiveAnalytics suporta as seguintes funções de intervalo e duração para data e hora.


| Função | Tipo de dados de saída | Description | 
| --- | --- | --- | 
| date\_add(unit, bigint, date), date\_add(unit, bigint, time), date\_add(varchar(x), bigint, timestamp) | timestamp | Adiciona uma grande quantidade de unidades, em que a unidade é uma dentre [segundo, minuto, hora, dia, semana, mês, trimestre ou ano].<pre>SELECT date_add('hour', 9, TIMESTAMP '2022-06-17 00:00:00')</pre><br />Exemplo de resultado: `2022-06-17 09:00:00.000000000` | 
| date\_diff(unit, date, date) , date\_diff(unit, time, time) , date\_diff(unit, timestamp, timestamp) | bigint | Retorna uma diferença, em que a unidade é uma dentre [segundo, minuto, hora, dia, semana, mês, trimestre ou ano].<pre>SELECT date_diff('day', DATE '2020-03-01', DATE '2020-03-02')</pre><br />Exemplo de resultado: `1` | 
| parse\_duration(string) | intervalo | Analisa a string de entrada para retornar um `interval` equivalente.<pre>SELECT parse_duration('42.8ms')</pre><br />Exemplo de resultado: `0 00:00:00.042800000`<pre>SELECT typeof(parse_duration('42.8ms'))</pre><br />Exemplo de resultado: `interval day to second` | 
| bin(timestamp, interval) | timestamp | Arredonda o valor inteiro do parâmetro `timestamp` para o múltiplo mais próximo do valor inteiro do parâmetro `interval`.<br />O significado desse valor de retorno pode não ser óbvio. Ele é calculado usando aritmética de números inteiros primeiro dividindo o número inteiro do registro de data e hora pelo inteiro do intervalo e depois multiplicando o resultado pelo inteiro do intervalo.<br />Tendo em mente que um registro de data e hora especifica um momento UTC como o número de frações de segundo decorridas desde a época POSIX (1º de janeiro de 1970), o valor de retorno raramente se alinhará ao calendário. Por exemplo, se você especificar um intervalo de 30 dias, todos os dias desde a época serão divididos em incrementos de 30 dias, e o início do incremento mais recente de 30 dias será retornado, o que não tem relação com os meses do calendário.<br />Veja alguns exemplos:<pre>bin(TIMESTAMP '2022-06-17 10:15:20', 5m)     ==> 2022-06-17 10:15:00.000000000<br />bin(TIMESTAMP '2022-06-17 10:15:20', 1d)     ==> 2022-06-17 00:00:00.000000000<br />bin(TIMESTAMP '2022-06-17 10:15:20', 10day)  ==> 2022-06-17 00:00:00.000000000<br />bin(TIMESTAMP '2022-06-17 10:15:20', 30day)  ==> 2022-05-28 00:00:00.000000000</pre> | 
| ago(interval) | timestamp | Retorna o valor correspondente a current\_timestamp `interval`.<pre>SELECT ago(1d)</pre><br />Exemplo de resultado: `2022-07-06 21:08:53.245000000` | 
| literais de intervalo, como 1h, 1d e 30m | intervalo | Os literais de intervalo são convenientes para parse\_duration(string). Por exemplo, `1d` é o mesmo que `parse_duration('1d')`. Isso permite o uso dos literais sempre que um intervalo é usado. Por exemplo, `ago(1d)` e `bin({{<timestamp>}}, 1m)`. | 

Alguns literais de intervalo funcionam como uma abreviação de parse\_duration. Por exemplo, `parse_duration('1day')`, `1day`, `parse_duration('1d')` e `1d` retornam `1 00:00:00.000000000` onde o tipo é `interval day to second`. O espaço é permitido no formato fornecido para `parse_duration`. Por exemplo, `parse_duration('1day')` também retorna `00:00:00.000000000`. Mas `1 day` não é um intervalo literal.

As unidades relacionadas a `interval day to second` são ns, nanosegundo, us, microssegundo, ms, milissegundo, s, segundo, m, minuto, h, hora, d e dia.

Também há o `interval year to month`. As unidades relacionadas ao intervalo ano a mês são y, ano e mês. Por exemplo, `SELECT 1year` retorna `1-0`. `SELECT 12month` também retorna `1-0`. `SELECT 8month` retorna `0-8`.

Embora a unidade de `quarter` também esteja disponível para algumas funções, como `date_trunc` e `date_add`, `quarter` não está disponível como parte de um intervalo literal.

## Formatação e análise
<a name="date-time-functions-formatting-parsing"></a>

O Timestream for LiveAnalytics suporta as seguintes funções de formatação e análise para data e hora.


| Função | Tipo de dados de saída | Description | 
| --- | --- | --- | 
| date\_format(timestamp, varchar(x)) | varchar | Para obter mais informações sobre os especificadores de formato usados por essa função, consulte [https://trino.io/docs/current/functions/datetime.html\#mysql](https://trino.io/docs/current/functions/datetime.html#mysql-date-functions) -date-functions<pre>SELECT date_format(TIMESTAMP '2019-10-20 10:20:20', '%Y-%m-%d %H:%i:%s')</pre><br />Exemplo de resultado: `2019-10-20 10:20:20` | 
| date\_parse(varchar(x), varchar(y)) | timestamp | Para obter mais informações sobre os especificadores de formato usados por essa função, consulte [https://trino.io/docs/current/functions/datetime.html\#mysql](https://trino.io/docs/current/functions/datetime.html#mysql-date-functions) -date-functions<pre>SELECT date_parse('2019-10-20 10:20:20', '%Y-%m-%d %H:%i:%s')</pre><br />Exemplo de resultado: `2019-10-20 10:20:20.000000000` | 
| format\_datetime(timestamp, varchar(x)) | varchar | Para obter mais informações sobre a string de formato usada por essa função, consulte [http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html](http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html)<pre>SELECT format_datetime(parse_datetime('1968-01-13 12', 'yyyy-MM-dd HH'), 'yyyy-MM-dd HH')</pre><br />Exemplo de resultado: `1968-01-13 12` | 
| parse\_datetime(varchar(x), varchar(y)) | timestamp | Para obter mais informações sobre a string de formato usada por essa função, consulte [http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html](http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html)<pre>SELECT parse_datetime('2019-12-29 10:10 PST', 'uuuu-LL-dd HH:mm z')</pre><br />Exemplo de resultado: `2019-12-29 18:10:00.000000000` | 

## Extração
<a name="date-time-functions-extraction"></a>

O Timestream for LiveAnalytics suporta as seguintes funções de extração para data e hora. A função de extração é a base para as demais funções de conveniência.


| Função | Tipo de dados de saída | Description | 
| --- | --- | --- | 
| extract | bigint | Extrai um campo de um registro de data e hora, onde o campo é um dentre [YEAR, QUARTER, MONTH, WEEK, DAY, DAY\_OF\_MONTH, DAY\_OF\_WEEK, DOW, DAY\_OF\_YEAR, DOY, YEAR\_OF\_WEEK, YOW, HOUR, MINUTE ou SECOND].<pre>SELECT extract(YEAR FROM '2019-10-12 23:10:34.000000000')</pre><br />Exemplo de resultado: `2019` | 
| day(timestamp), day(date), day(interval day to second) | bigint | <pre>SELECT day('2019-10-12 23:10:34.000000000')</pre>Exemplo de resultado: `12` | 
| day\_of\_month(timestamp), day\_of\_month(date), day\_of\_month(interval day to second) | bigint | <pre>SELECT day_of_month('2019-10-12 23:10:34.000000000')</pre>Exemplo de resultado: `12` | 
| day\_of\_week(timestamp), day\_of\_week(date) | bigint | <pre>SELECT day_of_week('2019-10-12 23:10:34.000000000')</pre>Exemplo de resultado: `6` | 
| day\_of\_year(timestamp), day\_of\_year(date) | bigint | <pre>SELECT day_of_year('2019-10-12 23:10:34.000000000')</pre>Exemplo de resultado: `285` | 
| dow(timestamp), dow(date) | bigint | Alias para day\_of\_week | 
| doy(timestamp), doy(date) | bigint | Alias para day\_of\_year | 
| hour(timestamp), hour(time), hour(interval day to second) | bigint | <pre>SELECT hour('2019-10-12 23:10:34.000000000')</pre>Exemplo de resultado: `23` | 
| millisecond(timestamp), millisecond(time), millisecond(interval day to second) | bigint | <pre>SELECT millisecond('2019-10-12 23:10:34.000000000')</pre>Exemplo de resultado: `0` | 
| minute(timestamp), minute(time), minute(interval day to second) | bigint | <pre>SELECT minute('2019-10-12 23:10:34.000000000')</pre>Exemplo de resultado: `10` | 
| month(timestamp), month(date), month(interval year to month) | bigint | <pre>SELECT month('2019-10-12 23:10:34.000000000')</pre>Exemplo de resultado: `10` | 
| nanosecond(timestamp), nanosecond(time), nanosecond(interval day to second) | bigint | <pre>SELECT nanosecond(current_timestamp)</pre>Exemplo de resultado: `162000000` | 
| quarter(timestamp), quarter(date) | bigint | <pre>SELECT quarter('2019-10-12 23:10:34.000000000')</pre>Exemplo de resultado: `4` | 
| second(timestamp), second(time), second(interval day to second) | bigint | <pre>SELECT second('2019-10-12 23:10:34.000000000')</pre>Exemplo de resultado: `34` | 
| week(timestamp), week(date) | bigint | <pre>SELECT week('2019-10-12 23:10:34.000000000')</pre>Exemplo de resultado: `41` | 
| week\_of\_year(timestamp), week\_of\_year(date) | bigint | Alias para semana | 
| year(timestamp), year(date), year(interval year to month) | bigint | <pre>SELECT year('2019-10-12 23:10:34.000000000')</pre>Exemplo de resultado: `2019` | 
| year\_of\_week(timestamp), year\_of\_week(date) | bigint | <pre>SELECT year_of_week('2019-10-12 23:10:34.000000000')</pre>Exemplo de resultado: `2019` | 
| yow(timestamp), yow(date) | bigint | Alias para year\_of\_week | 