我想按年月查数据写了两种方式,不知道为什么数据量结果不一样
select * from ppm_checkdebitdetail where
trunc(Cdd_PassTime)=to_date('2013-7','yyyy-MM');
--------------------------------------------------------------
select * from ppm_checkdebitdetail where to_CHAR( trunc(Cdd_PassTime),'yyyy-MM')='2013-07'
trunc(Cdd_PassTime)=to_date('2013-7','yyyy-MM'); 你查询的是2013-07-01 的数据。
select * from ppm_checkdebitdetail where to_CHAR( trunc(Cdd_PassTime),'yyyy-MM')='2013-07' 查询的是2013-07的数据
select trunc(sysdate) ,trunc(sysdate-17),to_date('2017-01','yyyy-MM') from dual; 运行一下这一句,你就理解了。
不行啊。我试了trunc(sysdate,'mm')
结果SQL> SELECT trunc(sysdate,'mm') FROM dual;
TRUNC(SYSDATE,'MM')
--------------------
2017/1/1
SQL>
不行啊。我试了trunc(sysdate,'mm')
结果SQL> SELECT trunc(sysdate,'mm') FROM dual;
TRUNC(SYSDATE,'MM')
--------------------
2017/1/1
SQL>
有啥问题,本来就是1月,截断到月本来就是1月1号
不行啊。我试了trunc(sysdate,'mm')
结果SQL> SELECT trunc(sysdate,'mm') FROM dual;
TRUNC(SYSDATE,'MM')
--------------------
2017/1/1
SQL>
截断到月表示当年1月1号,截断到天表示当月1号,注意data格式都是yyyy-mm-dd hh24:mi:ss的,就是说 trunc(sysdate,'mm')实际时间点是 2017/1/1 00:00:00