select count(1) from tbweblog 
      where userid=1 and to_char(sysdate,'yyyy-mm-dd')=to_char(logintime,'yyyy-mm-dd');tbweblog 是表名,logintime是表中的一个字段类型我不明白 to_char(sysdate,'yyyy-mm-dd')=to_char(logintime,'yyyy-mm-dd');是什么意思 是判断还是赋值??to_char(logintime,'yyyy-mm-dd')返回的是多条记录吧 ,to_char(sysdate,'yyyy-mm-dd')只返回一条记录怎么理解 ??
还有这是oracle的语法规范 我要转换成mysql的,所以麻烦您们给我编一条mysql语句 这是我做的 ,可返回来的记录数和原来的oracle语句不对着 
select count(1) from tbweblog where userid=1 andcurdate()=date_format(logintime,'%Y-%m-%d');date_format(logintime,'%Y-%m-%d')就是这句的错,难道是to_char(logintime,'yyyy-mm-dd');转换成mysql date_format(logintime,'%Y-%m-%d')不对吗??

解决方案 »

  1.   


    --此处的作用是判断
    --这句话的意思是表tbweblog中userid为1,且logintime为当天的记录数有多少条,即当天登录人的数量统计
    select count(1) from tbweblog  
      where userid=1 and to_char(sysdate,'yyyy-mm-dd')=to_char(logintime,'yyyy-mm-dd');
    你写的两条语句的意思一样的,如果oracle和mysql数据库中实际数据相同,则返回记录应该一致的才对
      

  2.   

    我是说怎么把这句oracle转换成mysql语句啊啊啊 
      

  3.   

     select count(1) from tbweblog  
         where userid=1 and curdate()=date(logintime)