在sql中我存了一个字段start_date 放的内容类似于20071010,start_time 放的内容类似于81243 即小时,分钟,秒,但是现在碰到一个报表,要求用当前的时间去和存放的时间比较,差值要求是分钟,而且必须在sql中表示出来~把差值放在where里面用做查询的条件。

解决方案 »

  1.   

    oracle的话可以考虑 (sysdate - to_date(start_date || start_time, 'YYYYMMDDHH24MISS')) >(n分钟/(60*24))
    81243 是081243吧?要不前面要补充个0
      

  2.   

    肯定要用到数据库内置函数了撒,to_date...
      

  3.   

    select t.* from test t where ((sysdate-to_date(t.start_date||t.start_time, 'YYYYMMDDHH24MISS')) * 60*24) > ?另外,有一点要注意
    start_date 放的内容类似于20071010,一定要8位规范数字
    start_time 放的内容类似于081243,注意一定要6位有效数字,不足的请自己在存储进去之前补0
    验证可行