select wonum,REPORTDATE,HDIFDELAY from WORKORDER where HDIFDELAY=1 and (HDIFDELAY-HDCOMPTIME) >24 这个该怎么改HDIFDELAY、HDCOMPTIME都是记录时间的列
下面是Oracle的SQL语句。如果HDIFDELAY、HDCOMPTIME都是日期类型,可以直接写成: (HDIFDELAY-HDCOMPTIME)*24>24 相当于两个日期相差一天多。如果HDIFDELAY、HDCOMPTIME都是字符类型,可以直接写成: (to_date(HDIFDELAY,'yyyy-mm-dd')-to_date(HDCOMPTIME,'yyyy-mm-dd'))*24yyyy-mm-dd代表字符日期格式。
这样改一下select wonum,REPORTDATE,HDIFDELAY from WORKORDER where HDIFDELAY=1 and datediff (hour,HDIFDELAY,HDCOMPTIME) >24 追问 datediff标示符无效。。。 追答 你是什麼数据库? 追问 oracle... 追答 这样试一下ROUND(TO_NUMBER(HDIFDELAY - HDCOMPTIME) * 24) 追问 数据类型不一致,应为number却获得data