SQLServer中的Datediff移植到ORACLE计算有误怎么解决?
来源:互联网 发布:java 获取今天凌晨 编辑:程序博客网 时间:2024/06/11 20:45
是天数的计算,
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 trunc(sysdate) - trunc(to_date('2006-05-28 10:20','YYYY-MM-DD HH24:MI')) from dual
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
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中的Datediff移植到ORACLE计算有误怎么解决?
- SqlServer移植到Oracle
- sqlserver计算时间差DATEDIFF 函数
- 从SqlServer 2K移植到Oracle 10g中的简要总结
- 从SqlServer 2K移植到Oracle 10g中的简要总结
- sql计算时间差的datediff()函数怎么用
- SQLserver 中的日期函数--DATEDIFF()、GETDATE() 、DATEADD() 、DATEPART()
- sqlserver中的top n放到oracle中怎么写
- SQLSERVER 中DATEDIFF函数
- sqlserver datediff格式转换
- sqlserver移植为Oracle笔记
- SQLServer中的数据库相互移植。
- SQLServer 2005中的数据同步到Oracle中
- Oracle 数据库 变更到 sqlserver 2008 中的一些经验
- Oracle创建到sqlserver的dblink中的一个巨坑
- SQLServer 2008参数@objname不明确或所声明的@objtype (column)有误解决
- oracle移植到postgres
- Oracle移植到mysql
- iReport+JasperReport系列文章:iReport入门和注意事项
- MFC程序的生死因果
- web測試方法
- FFMPEG 笔记
- 临时变量也可以存储在数据段
- SQLServer中的Datediff移植到ORACLE计算有误怎么解决?
- 软件生命周期模型及其选择续(2)
- 考研日志-22
- C#条形码
- 软件生命周期模型及其选择(1)
- 如何寫性能測試用例
- 再听Beyond
- 英雄无敌3中我所喜爱的英雄
- 原始模型模式