user表里结构
id name role createdate
1 admin 2 2010/11/12
2 system 1 2010/11/23
3 test 2 2009/11/12
我想把2010年创建的用户总数统计出来,为什么不对啊?
select count(*) from user where to_char(createdate,'yyyy-mm-dd') like '2010%';为什么统计不出来
id name role createdate
1 admin 2 2010/11/12
2 system 1 2010/11/23
3 test 2 2009/11/12
我想把2010年创建的用户总数统计出来,为什么不对啊?
select count(*) from user where to_char(createdate,'yyyy-mm-dd') like '2010%';为什么统计不出来
where createdate>=to_date('2010-01-01','YYYY-MM-DD')
and createdate<to_date('2011-01-01','YYYY-MM-DD');
select count(*) from emp where to_char(hiredate,'yyyy-mm-dd') like '1981%' COUNT(*)
----------
10
--取出2010年的数据
select count(*) from user
where to_char(createdate,'yyyy')='2010';--例如:
SQL> select count(*) from emp where to_char(hiredate,'yyyy')='1981'; COUNT(*)
----------
10
如果createdate是日期类型或timestamp类型,应该没问题如果createdate是字符类型会报数据类型错误
就别类型转换了
select count(*) from user where createdate like '2010%';
我删了一条数据 又插入一条就好使了
我真TM服气了
------试下这个
select count(*) from user where trunc(createdate,'yyyy')=trunc(sysdate,'yyyy')