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:- 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'
. - 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.