Ich möchte nur den Datumsteil aus einem Zeitstempel in PostgreSQL extrahieren.
Ich brauche es, um ein Postgresql- DATE
Typ zu sein, damit ich es in eine andere Tabelle einfügen kann, die einen DATE
Wert erwartet .
Wenn ich zum Beispiel habe 2011/05/26 09:00:00
, möchte ich2011/05/26
Ich habe versucht zu gießen, aber ich bekomme nur 2011:
timestamp:date
cast(timestamp as date)
Ich habe versucht to_char()
mit to_date()
:
SELECT to_date(to_char(timestamp, 'YYYY/MM/DD'), 'YYYY/MM/DD')
FROM val3 WHERE id=1;
Ich habe versucht, daraus eine Funktion zu machen:
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
Was ist der beste Weg, um ein Datum (JJJJ / MM / TT) aus einem Zeitstempel in PostgreSQL zu extrahieren?
quelle
Verwenden Sie die Datumsfunktion :
Von einer Zeichenfelddarstellung bis zu einem Datum können Sie Folgendes verwenden:
Testcode:
Testergebnis:
quelle
Haben Sie versucht, es auf ein Date mit zu
<mydatetime>::date
besetzen?quelle
Dies funktioniert bei mir in Python 2.7
quelle
Ein weiteres Testkit:
quelle
Tun
select date(timestamp_column)
Sie es einfach und Sie würden den einzigen Teil des Datums erhalten. Manchmalselect timestamp_column::date
kehrtdate 00:00:00
das Tun dorthin zurück, wo das00:00:00
Teil nicht entfernt wird . Aber ich habe gesehendate(timestamp_column)
, dass es in allen Fällen perfekt funktioniert. Hoffe das hilft.quelle
In postgres einfach: TO_CHAR (timestamp_column, 'TT / MM / JJJJ') als Übermittlungsdatum
quelle