我只需要查看表格中当前的年份行。Postgresql查询当前年份
是否有可能过滤一个时间戳列只有当前年份参数,是否有一些函数可以返回此值?
SELECT * FROM mytable WHERE "MYDATE" LIKE CURRENT_YEAR
我只需要查看表格中当前的年份行。Postgresql查询当前年份
是否有可能过滤一个时间戳列只有当前年份参数,是否有一些函数可以返回此值?
SELECT * FROM mytable WHERE "MYDATE" LIKE CURRENT_YEAR
在PostgreSQL,你可以使用这个:
SELECT * FROM mytable WHERE date_part('year', mydate) = date_part('year', CURRENT_DATE);
的date_part数功能适用于所有的PostgreSQL从目前的下跌释放到7.1(至少)。
请注意,该查询将非常慢。更好的办法是做mydate> = date_trunc('year',current_date)和mydate
非常感谢那个提示!任何改进都非常感谢。我试图通过一些测量来证实你写的东西。我对包含大约200K条记录,总共大约50列,并且有9个不同列的日期或时间戳记类型的表格进行了测试。根据色谱柱的不同,选择的记录数从500到30K不等。它把你的查询延长了10%。最好的结果是接近水平。当然,我遵循统计调查的规则。我想你多次尝试过。有人可以提出她或他自己的测量? – MyBrainHurts
SELECT * FROM mytable WHERE myYear = YEAR(CURDATE())
上面的代码适用于SQL!
它不适用于postgresql –
看看CURRENT_TIMESTAMP,然后在其上使用date_part ... http://www.postgresql.org/docs/current/static/functions-datetime.html –