Redshift current_date Função

Redshift current_date Função
A função current_date no desvio para o vermelho é usado para retornar a data no fuso horário da UTC por padrão. O tipo de dados da função current_date é a data e o formato padrão da data armazenado é aaaaa-dd. Esta função pode ser usada para acompanhar as alterações feitas nas tabelas do cluster.

Embora o fuso horário padrão para o valor retornado da função current_date seja UTC, ela pode ser alterada usando outras funções internas de desvio para o vermelho. Da mesma forma, algumas funções internas do desvio para o vermelho podem ser usadas para extrair o dia, mês e ano do valor retornado da função current_date.

Neste blog, veremos como a função Redshift Current_Date pode ser usada para diferentes casos de uso.

Sintaxe de current_date

A sintaxe da função current_date é muito mais simples do que outras funções internas disponíveis para o Redshift. A função current_date não recebe nenhum argumento e pode ser usada junto com uma instrução SELECT. A seguir, a sintaxe para obter a data de início da transação atual em execução no Amazon Redshift.

Selecione current_date;

Obtenha a data atual usando a função current_date

Para obter a data atual no Amazon Redshift, você pode usar a função current_date. A função current_date retorna a data de início da transação em vez da data de início da declaração atual.

A consulta a seguir retornará a data de início da transação atual no Amazon Redshift.

Selecione current_date;

A seguir, será a saída da função current_date no cluster Amazon Redshift.

DATA
2022-06-15

A data retornada da função Current_Date estará no fuso horário da UTC. Você precisa ajustá -lo de acordo com o seu fuso horário antes de concluir os resultados.

Altere o fuso horário de current_date

Conforme descrito anteriormente, a data retornada pela função current_date estará no fuso horário da UTC por padrão. Para obter a data no fuso horário desejado, você precisa alterar o fuso horário da data da UTC para o seu fuso horário preferido.

Para converter o fuso horário da função current_date, usaremos outra função incorporada convert_timeZone. Esta função levará o fuso horário da fonte, o fuso horário e o horário da fonte, e converterá o tempo no fuso horário -alvo.

A consulta a seguir gerará a data de início da transação atual no fuso horário desejado.

Selecione convert_timezone ('utc', 'gmt+5', current_date);
convert_timezone
2022-06-15 19:00:00

Quando executado no Redshift, a consulta anterior obterá a data atual usando a função current_date no fuso horário da UTC e depois converterá o fuso horário da data do UTC para GMT+5.

Chegando dia, mês e ano de current_date

A função current_date retorna a data em formato AAAA-MM-DD no fuso horário da UTC. Você pode extrair o ano, o mês e o dia a partir da data usando a função de extrato no Amazon Redshift.

Para extrair o ano a partir da data usando a função Current_Date e Extract, execute a seguinte consulta no cluster do desvio para o vermelho:

Selecione Extract (ano de current_date) como ano;
ANO
2022

A consulta anterior receberá a data de início da transação atual no fuso horário da UTC e, em seguida, a função de extração extrairá o ano a partir dessa data.

Da mesma forma, você pode obter o mês a partir da data atual usando o método de extração. A execução da consulta a seguir extrairá o mês a partir da data do cluster do Redshift:

Selecione Extract (mês de current_date) como mês;
MÊS
6

Para extrair a data da função current_date usando a função Extrato, execute a seguinte consulta dentro do cluster do desvio para o vermelho:

Selecione Extract (dia de current_date) como dia;
DIA
16

A consulta anterior do Redshift retornará a data hoje, extraindo -a da função current_date.

Você também pode usar a função current_date com convert_timezone e extrair funções para extrair a data da data atual no seu fuso horário exigido. Execute a seguinte consulta no cluster Redshift para extrair a data da data atual no GMT+5 fuso horário.

Selecione Convert_timeZone ('UTC', 'GMT+5', Extract (dia de current_date));

A consulta anterior receberá a data atual e, em seguida, a função de extração extrairá a data da função current_date. Em seguida, a função Convert_timeZone alterará o fuso horário da data de UTC para GMT+5.

Alterando o formato da data

O formato padrão da função current_date é aaaaa-dd, mas você sempre pode alterar o formato de data. A função to_char pode ser usada para alterar o formato padrão da função current_date.

A consulta a seguir terá a data de início da transação atual em seu formato desejado.

Selecione TO_CHAR (current_date, 'mm-dd-yyyy');
to_char
06-16-2022

Conclusão

A função current_date no Redshift pode ser usada para obter a data de início da transação atual em execução no cluster. Por padrão, esta função retorna a data atual no fuso horário da UTC em formato AAAA-MM-DD. Esta função pode ser usada com outras funções para obter a data atual no formato e fuso horário desejado. Este artigo descreve diferentes casos de uso da função current_date em conjunto com outras funções relacionadas à hora e à data, como convert_timeZone e Extract.