比较postgres中的月份和年份

时间:2017-07-21 19:48:33

标签: sql postgresql

我正在尝试这个:

select * from venda where to_char(data_venda, 'MM-YYYY') = '07/2017'

什么都没有回来。

数据库确实有两个具有此日期的记录:

  

' 21/07/2017'

1 个答案:

答案 0 :(得分:5)

使用相同的分隔符:

select v.*
from venda v
where to_char(v.data_venda, 'MM-YYYY') = '07-2017';

还有其他方法可以编写这个不涉及更改数据类型的方法:

where date_trunc('month', v.data_venda) = '2017-07-01'
where v.data_venda >= '2017-07-01' and v_data_venda < '2017-08-01'

后者很好,因为它可以很容易地使用索引。