有登陆时间access_time 登录时间字段,数据类型为Date,最后在线时间化成分钟数,在线xxx分钟我的想法就是用sysdate减去登录时间字段,得出结果,但是语句报错(无效的月份),请大家指教,
select floor(sysdate - to_date(b.access_time,'yymmdd')) from dual,um_access_log b; 

解决方案 »

  1.   

    是date型就不要再to_date转换了
    select round((sysdate-access_time)*1440)
    from um_access_log
      

  2.   

    了解,那我想问下1楼的,如果获取一个用户的在线时间,通过sql语句,刚刚看到其他人的帖子上面有
    select   (sysdate-access_time)*24*60  from   um_access_log   where   rownum<=1;   ---得到分钟数
    这个可以计算时间,但是好像不太算在线时间,因为作为用户,可能会把浏览器关掉的,那这样就不算是在线的啦?这该如何处理?
      

  3.   

    一般都会记录登入与登出时间.然后相减得到的在线时间啊,
    你的表应该也有LOGIN ,LOGOUT列吧
      

  4.   

    是date型就不要再to_date转换了
    select round((sysdate-access_time)*1440)
    from um_access_log