获得PostgreSQL中的时间戳

时间:2013-10-19 06:50:18

标签: sql database postgresql

我有一个名为TrainingMatrix的表,它有一个名为ExpiryDate的列。我正在尝试编写一个SQL语句,它可以向我显示2012年的所有记录:

 SELECT * FROM "TrainingMatrix" WHERE "ExpiryDate" - current_date < 0 AND EXTRACT(YEAR FROM TIMESTAMP "ExpiryDate") = 2012;

但这不起作用,任何人都可以帮忙吗?

我正在使用PostgreSQL。

2 个答案:

答案 0 :(得分:2)

使用列时没有时间戳字:

... AND EXTRACT(YEAR FROM "ExpiryDate") = 2012 ...

答案 1 :(得分:2)

如果您在ExpiryDate列上有索引 - 最好避免使用函数并具有确切的日期/时间戳范围:

and "ExpiryDate">='2012-01-01' and "ExpiryDate"<'2013-01-01';