2010-02-13 311 views
5

我嘗試用下面的SQL選擇一個表(Postgres的DB)的所有記錄:Postgres的:時間戳記大於現在

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

有永諾的錯誤信息,告訴我,有一個「輸入無效語法鍵入帶時區的時間戳:「myTimestampRow」。

上述查詢有什麼問題?

回答

7

失去了單引號:

SELECT * FROM tablename WHERE myTimestampRow >= now() 

你可以可以選擇雙引號列和表名,但不能使用單引號;他們將被解釋爲字符/字符串。

2

你有

SELECT * FORM 

,而不是

SELECT * FROM 

但可能是在問題的錯字。我覺得你的問題是列的報價, 應改爲要麼

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

(不含引號)或

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