SQL语句中 处理时间类型字段 的语法对比

SQL语句中处理时间类型字段:【查询最近24小时以内的记录】,在Oracle和Access中是截然不同的。在Sql Server中的语法有待添加。

在Oracle中的语法结构:【时间相减,时间顺序,字符串连接等】

select * from table1 where  ceil((to_date('2013/05/31 14:47:00','yyyy-mm-dd hh24:mi:ss') - to_date(substr(vata,0,4)||'/'||substr(vata,5,2)||'/'||substr(vata,8,2)||' '||substr(vata,11,2)||':'||substr(vata,14,2)||':00','yyyy-mm-dd hh24:mi:ss'))*24) >1

vata为时间字段,如“2013年05月30日12时30分”。

 

在Access中的语法结构:【时间相减,字符串连接等】

select * from table1 where DateDiff('n',Mid(vata,1,4)&'/'&Mid(vata,5,2)&'/'&Mid(vata,7,2)&' '&Mid(vata,9,2)&':'&Mid(vata,11,2)&':00', '2013/05/31 14:47:00') >(24*60)

vata为时间字段,如“2013年05月30日12时30分”。

 

另外补充,sql语句中还可以在from前面输入字段的位置,和from后面where条件中,使用case when then else end结构,得到逻辑复杂的sql语句。

 

参考资料:

DateDiff 函数详解:http://office.microsoft.com/zh-cn/access-help/HA001228811.aspx

DateDiff函数在Sql与Access中的区别:http://www.cnblogs.com/down/archive/2010/03/18/1688696.html

http://zhidao.baidu.com/question/539604523.html

http://blog.csdn.net/redarmy_chen/article/details/7351410

posted @ 2013-05-31 18:16  知不知道  阅读(1597)  评论(0编辑  收藏  举报