PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como converter uma string em uma data no PostgreSQL

Problema:


Você gostaria de converter uma string contendo uma data para a data do PostgreSQL tipo de dados.

Vamos converter uma string de data para a data tipo de dados em vez de seu texto atual tipo de dados.

Solução:


Aqui está o Exemplo 1 de como usar o TO_DATE() função. Esta é a consulta que você escreveria:
SELECT TO_DATE('20020304', 'YYYYMMDD') AS  new_date;

E aqui está o resultado da consulta:
new_date
2002-03-04

Vejamos o Exemplo 2 do TO_DATE() função. Observe o formato de data ligeiramente diferente:
SELECT TO_DATE('2015/06/07', 'YYYY/MM/DD') AS  new_date;

Segue o resultado da consulta:
new_date
2015-06-07

Discussão:


Use a função TO_DATE() para converter um valor de texto contendo uma data para a data tipo de dados. Esta função recebe dois argumentos:
  1. Um valor de data. Pode ser uma string (um valor de texto) ou uma coluna de texto contendo informações de data. Em nosso exemplo, usamos as strings '20020304' e '2015/06/07' .
  2. O formato de data de entrada. Em nosso exemplo, usamos 'YYYYMMDD' e 'YYYY/MM/DD' . Observe que o formato de entrada é uma string.

O formato de entrada decide como o PostgreSQL processará os caracteres na string onde a data está armazenada. O especificador 'YYYY' como os primeiros quatro caracteres indica que eles representam um ano de 4 dígitos. Em seguida, 'MM' representa um mês de 2 dígitos e 'DD' um dia de 2 dígitos. Você pode encontrar uma lista de todos os especificadores na documentação do PostgreSQL.

No Exemplo 1, a data da string como ‘20020304 ' foi convertido para a data '2002-03-04' (uma data tipo de dados. No Exemplo 2, a string '2015/06/07' foi convertido para a data '2015-06-07' . No segundo exemplo, usamos a barra / entre as partes da data para converter corretamente de uma string para a data tipo de dados.