Quiero extraer solo la parte de fecha de una marca de tiempo en PostgreSQL.
Necesito que sea un DATE
tipo postgresql para poder insertarlo en otra tabla que espere un DATE
valor.
Por ejemplo, si tengo 2011/05/26 09:00:00
, quiero2011/05/26
Intenté lanzar, pero solo consigo 2011:
timestamp:date
cast(timestamp as date)
Lo intenté to_char()
con to_date()
:
SELECT to_date(to_char(timestamp, 'YYYY/MM/DD'), 'YYYY/MM/DD')
FROM val3 WHERE id=1;
Traté de hacerlo una función:
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
¿Cuál es la mejor manera de extraer la fecha (aaaa / mm / dd) de una marca de tiempo en PostgreSQL?
fuente
Use la función de fecha :
Desde una representación de campo de caracteres hasta una fecha que puede usar:
Código de prueba:
Resultado de la prueba:
fuente
¿Has intentado llevarlo a una cita con
<mydatetime>::date
?fuente
Esto funciona para mí en Python 2.7
fuente
Otro kit de prueba:
fuente
Solo hazlo
select date(timestamp_column)
y obtendrás la única parte de la fecha. A veces, hacerselect timestamp_column::date
puede volverdate 00:00:00
donde no elimina la00:00:00
parte. Pero he vistodate(timestamp_column)
que funciona perfectamente en todos los casos. Espero que esto ayude.fuente
En postgres simplemente: TO_CHAR (timestamp_column, 'DD / MM / AAAA') como submit_date
fuente