2010-02-13 45 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();