我尝试使用以下sql选择表(Postgres DB)的所有记录:
SELECT * FROM 'tablename' WHERE 'myTimestampRow' >= now()
总是有一条错误消息,告诉我“带时区的类型时间戳的输入语法无效:”myTimestampRow“'。
上述查询有什么问题?
答案 0 :(得分:12)
丢失单引号:
SELECT * FROM tablename WHERE myTimestampRow >= now()
您可以选择双引号列名和表名,但不能单引号;它们将被解释为字符/字符串。
答案 1 :(得分:2)
你有
SELECT * FORM
而不是
SELECT * FROM
但这可能是问题中的拼写错误。我认为你的问题是引用列, 它应该读
SELECT * FROM table WHERE timestampRow >= now();
(没有引号)或
SELECT * FROM "table" WHERE "timestampRow" >= now();