是天数的计算, —————————– select trunc(sysdate) – trunc(to_date(2006-05-28 10:20,YYYY-MM-DD HH24:MI)) from dual try select * from 监控温度表 A where 时间 between ” + Str(dtStart.Value) + “AND ” + Str(dtEnd.Value) + ” And Not Exists (Select 时间 From 监控温度表 Where DateDiff(mi, 时间, A.时间) <=5 ) order by id
SQLServer中:
select datediff(day,2006-05-26 10:11,2006-05-25 11:11)
结果为1天,只判断日期中的天数,是不根据时间来判断的。但是转到ORACLE:
select trunc((to_date(2006-05-26 10:11,YYYY-MM-DD HH:MI) – to_date(2006-05-25 11:11,YYYY-MM-DD HH:MI))) as datediff from dual
结果为0,只有把前面一个日期改成2006-05-26 11:11之后的时间才返回1天。
我要求是只根据天数来求值,看来要统一把比较的日期改到最小单位为天的日期,实际使用中是要把sysdate与结果集中字段计算的,该字段compdate是YYYY-MM-DD HH:MI格式的varchar2类型,难道要我这么写:
select trunc(to_date(to_char(sysdate,YYYYMMDD),YYYYMMDD) – to_date(to_char(to_date(compdate,YYYY-MM-DD HH:MI),YYYYMMDD),YYYYMMDD)) from table1
感觉太烦了,有更好的办法吗?
解决方法:
select * from 监控温度表 A where 时间 between ” + Str(dtStart.Value) + “AND ” + Str(dtEnd.Value) + ” And Not Exists (Select 时间 From 监控温度表 Where DateDiff(mi, 时间, A.时间) <= ” + Str(text1.text) + “) order by id
sql server中的datediff移植到oracle计算有误怎么解决? _数据库技巧
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » sql server中的datediff移植到oracle计算有误怎么解决? _数据库技巧
相关推荐
-      sql语句中的判断功能的使用方法
-      sql语句中的判断功能的使用方法
-      SQL语言中去掉小数点有效数字后面的所有0
-      ASP连接各种数据库的代码
-      在sql语句中实现md5功能
-      给access数据库减肥
-      asp连接access数据库代码(2)
-      更改 SQL Server 登录模式