2010-02-13 2 views
5

Ich versuche, alle Datensätze einer Tabelle (Postgres DB) mit der folgenden SQL auszuwählen:Postgres: Zeitstempel größer als jetzt

SELECT * FROM 'tablename' WHERE 'myTimestampRow' >= now() 

Es gibt durchweg eine Fehlermeldung, mir zu sagen, dass es eine ‚ungültige Eingabesyntax für Geben Sie Zeitstempel mit Zeitzone ein: "myTimestampRow" '.

Was ist falsch mit der obigen Abfrage?

Antwort

7

verlieren die Apostrophe:

SELECT * FROM tablename WHERE myTimestampRow >= now() 

Sie können Spalten- und Tabellennamen optional doppelt angeben, aber keine einfachen Anführungszeichen; Sie werden als Zeichen/Strings interpretiert.

2

Sie haben

SELECT * FORM 

statt

SELECT * FROM 

aber das könnte ein Tippfehler in der Frage sein. Ich denke, das Problem ist die Angabe der Spalten, sollte es lesen entweder

SELECT * FROM table WHERE timestampRow >= now(); 

(ohne Anführungszeichen) oder

SELECT * FROM "table" WHERE "timestampRow" >= now();