我爱Aspx >> C#.Net >> SQL Server中的Datediff移植到ORACLE计算有误怎么解决?是天数的计算,
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
Ҷƪл˵?
用共享游标提升 SQL 性能[07-30]
SQL Server 2005 创建登录时提示..[07-30]
Mysql关于数据库和表的几个最基本..[07-30]
成批更改sql server数据库所有者..[07-30]
一个非常简单的分页技术MYSQL+JS..[07-30]
VFP中用SPT访问SQL Server数据库[07-30]
动态创建MSSQL数据库表存储过程[07-30]
SQL SERVER 2000 安装(症状归纳..[07-30]
Mysql数据库操作新手入门,手把手..[07-30]
SQL Server 存储过程嵌套示例[07-30]
Photoshop快速为图片添加下雨效果[07-30]
随心所欲改变Windows Vista系统中..[07-30]
在Excel工作表单元格中手动输入各..[07-30]
让浏览器恢复对迅雷的控制[07-30]
新一代即时通讯软件:QQ蜂鸟技巧..[07-30]
C#网络应用编程基础练习题与答案..[07-30]
C#网络应用编程基础练习题与答案..[07-30]
C#网络应用编程基础练习题与答案..[07-30]
C#网络应用编程基础练习题与答案..[07-30]
用共享游标提升 SQL 性能[07-30]