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.
DATAA 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);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;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;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;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');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.