Chcę wyodrębnić tylko część daty ze znacznika czasu w PostgreSQL.
Potrzebuję tego DATE
typu postgresql, aby móc wstawić go do innej tabeli, która oczekuje DATE
wartości.
Na przykład, jeśli mam 2011/05/26 09:00:00
, chcę2011/05/26
Próbowałem castować, ale dostaję tylko 2011:
timestamp:date
cast(timestamp as date)
Próbowałem to_char()
z to_date()
:
SELECT to_date(to_char(timestamp, 'YYYY/MM/DD'), 'YYYY/MM/DD')
FROM val3 WHERE id=1;
Próbowałem uczynić to funkcją:
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
Jaki jest najlepszy sposób na wyodrębnienie daty (rrrr / mm / dd) ze znacznika czasu w PostgreSQL?