

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\$1date  |  date  |  Retorna a data atual em UTC. Nenhum parêntese foi usado. <pre>SELECT current_date</pre> 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\$1time  |  horário  |  Retorna a hora atual em UTC. Nenhum parêntese foi usado. <pre>SELECT current_time</pre> 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\$1timestamp or now()  |  timestamp  |  Retorna o registro de data e hora atual em UTC. <pre>SELECT current_timestamp</pre> 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\$1timezone()  |  varchar O valor será 'UTC'.  |  O Timestream usa o fuso horário UTC para data e hora. <pre>SELECT current_timezone()</pre> 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\$1day\$1of\$1month(timestamp), last\$1day\$1of\$1month(date)  |  date  |  <pre>SELECT last_day_of_month(TIMESTAMP '2022-07-07 17:44:43.771000000')</pre> Exemplo de resultado: `2022-07-31`  | 
|  from\$1iso8601\$1timestamp(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> Exemplo de resultado: `2022-06-17 03:04:05.000000000`  | 
|  from\$1iso8601\$1date(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> Exemplo de resultado: `2022-07-17`  | 
|  to\$1iso8601(timestamp), to\$1iso8601(date)  |  varchar  |  Retorna uma string formatada em ISO 8601 para a entrada. <pre>SELECT to_iso8601(from_iso8601_date('2022-06-17'))</pre> Exemplo de resultado: `2022-06-17`  | 
|  from\$1milliseconds(bigint)  |  timestamp  |  <pre>SELECT from_milliseconds(1)</pre> Exemplo de resultado: `1970-01-01 00:00:00.001000000`  | 
|  from\$1nanoseconds(bigint)  |  timestamp  |  <pre>select from_nanoseconds(300000001)</pre> Exemplo de resultado: `1970-01-01 00:00:00.300000001`  | 
|  from\$1unixtime(double)  |  timestamp  |  Retorna um registro de data e hora que corresponde ao unixtime fornecido. <pre>SELECT from_unixtime(1)</pre> 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> 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> 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\$1milliseconds(interval day to second), to\$1milliseconds(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> Exemplo de resultado: `1655487883771`  | 
|  to\$1nanoseconds(interval day to second), to\$1nanoseconds(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> Exemplo de resultado: `1655487883771000678`  | 
|  to\$1unixtime(timestamp)  |  double  |  Retorna unixtime para o registro de data e hora fornecido. <pre>SELECT to_unixtime('2022-06-17 17:44:43.771000000')</pre> Exemplo de resultado: `1.6554878837710001E9`  | 
|  date\$1trunc(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> 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\$1add(unit, bigint, date), date\$1add(unit, bigint, time), date\$1add(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> Exemplo de resultado: `2022-06-17 09:00:00.000000000`  | 
|  date\$1diff(unit, date, date) , date\$1diff(unit, time, time) , date\$1diff(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> Exemplo de resultado: `1`  | 
|  parse\$1duration(string)  |  intervalo  |  Analisa a string de entrada para retornar um `interval` equivalente. <pre>SELECT parse_duration('42.8ms')</pre> Exemplo de resultado: `0 00:00:00.042800000` <pre>SELECT typeof(parse_duration('42.8ms'))</pre> 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`. 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. 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. 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\$1timestamp `interval`. <pre>SELECT ago(1d)</pre> 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\$1duration(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\$1duration. 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\$1format(timestamp, varchar(x))  |  varchar  |  [Para obter mais informações sobre os especificadores de formato usados por essa função, consulte \$1 https://trino.io/docs/current/functions/datetime.html mysql-date-functions](https://trino.io/docs/current/functions/datetime.html#mysql-date-functions) <pre>SELECT date_format(TIMESTAMP '2019-10-20 10:20:20', '%Y-%m-%d %H:%i:%s')</pre> Exemplo de resultado: `2019-10-20 10:20:20`  | 
|  date\$1parse(varchar(x), varchar(y))  |  timestamp  |  [Para obter mais informações sobre os especificadores de formato usados por essa função, consulte \$1 https://trino.io/docs/current/functions/datetime.html mysql-date-functions](https://trino.io/docs/current/functions/datetime.html#mysql-date-functions) <pre>SELECT date_parse('2019-10-20 10:20:20', '%Y-%m-%d %H:%i:%s')</pre> Exemplo de resultado: `2019-10-20 10:20:20.000000000`  | 
|  format\$1datetime(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> Exemplo de resultado: `1968-01-13 12`  | 
|  parse\$1datetime(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> 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\$1OF\$1MONTH, DAY\$1OF\$1WEEK, DOW, DAY\$1OF\$1YEAR, DOY, YEAR\$1OF\$1WEEK, YOW, HOUR, MINUTE ou SECOND]. <pre>SELECT extract(YEAR FROM '2019-10-12 23:10:34.000000000')</pre> 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\$1of\$1month(timestamp), day\$1of\$1month(date), day\$1of\$1month(interval day to second)  |  bigint  |  <pre>SELECT day_of_month('2019-10-12 23:10:34.000000000')</pre> Exemplo de resultado: `12`  | 
|  day\$1of\$1week(timestamp), day\$1of\$1week(date)  |  bigint  |  <pre>SELECT day_of_week('2019-10-12 23:10:34.000000000')</pre> Exemplo de resultado: `6`  | 
|  day\$1of\$1year(timestamp), day\$1of\$1year(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\$1of\$1week  | 
|  doy(timestamp), doy(date)  |  bigint  |  Alias para day\$1of\$1year  | 
|  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\$1of\$1year(timestamp), week\$1of\$1year(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\$1of\$1week(timestamp), year\$1of\$1week(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\$1of\$1week  | 