Quero extrair apenas a parte da data de um carimbo de data e hora no PostgreSQL.
Eu preciso que seja do DATE
tipo postgresql para que eu possa inseri-lo em outra tabela que espera um DATE
valor.
Por exemplo, se eu tiver 2011/05/26 09:00:00
, eu quero2011/05/26
Tentei fazer o casting, mas só recebo 2011:
timestamp:date
cast(timestamp as date)
Eu tentei to_char()
com to_date()
:
SELECT to_date(to_char(timestamp, 'YYYY/MM/DD'), 'YYYY/MM/DD')
FROM val3 WHERE id=1;
Eu tentei fazer isso uma função:
CREATE OR REPLACE FUNCTION testing() RETURNS void AS '
DECLARE i_date DATE;
BEGIN
SELECT to_date(to_char(val1, "YYYY/MM/DD"),"YYYY/MM/DD")
INTO i_date FROM exampTable WHERE id=1;
INSERT INTO foo(testd) VALUES (i);
END
Qual é a melhor maneira de extrair data (aaaa / mm / dd) de um registro de data e hora no PostgreSQL?
fonte
Use a função de data :
De uma representação de campo de caractere a uma data, você pode usar:
Código do teste:
Resultado do teste:
fonte
Você já tentou chegar a um encontro
<mydatetime>::date
?fonte
Isso funciona para mim no python 2.7
fonte
Outro kit de teste:
fonte
Basta fazer
select date(timestamp_column)
e você obteria apenas a parte da data. Às vezes, fazerselect timestamp_column::date
pode retornardate 00:00:00
onde não remove a00:00:00
peça. Mas já vidate(timestamp_column)
funcionar perfeitamente em todos os casos. Espero que isto ajude.fonte
No postgres, simplesmente: TO_CHAR (timestamp_column, 'DD / MM / YYYY') como data de envio
fonte