select sum(nvl(value,0)) from account where to_char(purchasedat,'yyyymmdd'); = '20040402'
先看字段记录的是日期时间还是日期型,如果是日期则使用: select sum(value) from account where purchasedat = to_date('20040402','yyyymmdd');应该可以查到记录,如果是日期时间型则需要使用: select sum(nvl(value,0)) from account where trunc(purchasedat) = to_date('20040402','yyyymmdd'); 或select sum(nvl(value,0)) from account where to_char(purchasedat,'yyyymmdd'); = '20040402' 或select sum(nvl(value,0)) from account where purchasedat between to_date('20040402','yyyymmdd') and to_date('20040402','yyyymmdd')+1 数据很多且基于purchasedat有索引时最好用最后一种可以用上索引.
to_date('20040402','yyyymmdd');
一些系统喜欢把操作时间、修改时间等记录到秒。
'20040402'
select sum(value) from account where purchasedat =
to_date('20040402','yyyymmdd');应该可以查到记录,如果是日期时间型则需要使用:
select sum(nvl(value,0)) from account where trunc(purchasedat) =
to_date('20040402','yyyymmdd');
或select sum(nvl(value,0)) from account where to_char(purchasedat,'yyyymmdd'); =
'20040402'
或select sum(nvl(value,0)) from account where purchasedat between
to_date('20040402','yyyymmdd') and to_date('20040402','yyyymmdd')+1
数据很多且基于purchasedat有索引时最好用最后一种可以用上索引.