Extrait date (aaaa/mm/jj) à partir d'un timestamp dans PostgreSQL

Je veux extraire juste la partie de la date à partir d'un timestamp dans PostgreSQL.

J'en ai besoin pour être un postgresql DATE type afin que je puisse l'insérer dans une autre table qui s'attend à un DATE valeur.

Par exemple, si j'ai 2011/05/26 09:00:00, je veux 2011/05/26

J'ai essayé de casting, mais je ne reçois 2011:

timestamp:date
cast(timestamp as date)

J'ai essayé to_char() avec to_date():

SELECT to_date(to_char(timestamp, 'YYYY/MM/DD'), 'YYYY/MM/DD') 
FROM val3 WHERE id=1;

J'ai essayé de faire une fonction:

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

Quelle est la meilleure façon d'extraire la date (aaaa/mm/jj) à partir d'un timestamp dans PostgreSQL?

InformationsquelleAutor keren | 2011-05-26