比较Postgres中的月份和年份

Haw*_*wkB 2 sql postgresql

我正在尝试:

select * from venda where to_char(data_venda, 'MM-YYYY') = '07/2017'
Run Code Online (Sandbox Code Playgroud)

一无所有。

该数据库确实有两个记录与此日期:

'21 / 07/2017'。

Gor*_*off 6

使用相同的分隔符:

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

还有其他写方法,这些方法不涉及更改数据类型:

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

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