我正在尝试这个:
select * from venda where to_char(data_venda, 'MM-YYYY') = '07/2017'
什么都没有回来。
数据库确实有两个具有此日期的记录:
' 21/07/2017'
答案 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'
后者很好,因为它可以很容易地使用索引。