sql语句! 8小时为一天! 半小时为准,分钟不满半小时按半小时算!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句! 8小时为一天! 半小时为准,分钟不满半小时按半小时算!相关的知识,希望对你有一定的参考价值。
如表test:
a b c d e
1 2008-1-1 00:00:00 1990-1-1 17:20 2008-1-2 00:00:00 1990-1-1 18:10
2 2008-2-1 00:00:00 1990-1-1 17:30 2008-2-3 00:00:00 1990-1-1 14:20
3 2008-6-2 00:00:00 1990-1-1 17:10 2008-6-3 00:00:00 1990-1-1 15:30
4 2008-2-2 00:00:00 1990-1-1 17:00 2008-2-4 00:00:00 1990-1-1 14:30
b与d 我只截取日期,后面的时间不截取! 例如2008-1-1 00:00:00 截取后 2008-1-1
c与d只截取后面的时间!例如1990-1-1 17:30 截取后17:30
根据截取后组合(B与C) ,(D与E )两时间差计算 ,
例如第一条 2008-1-1 17:20与 2008-1-2 18:10 这两个时差计算,精确到半小时,不足半小时按小时计算!
例1:13:20 到 14:50 ,相差时间为1.5小时
例2: 12:50 到17:00 ,相差时间约为4.16小时 ,但显示为4.5小时!
例3: 13:10到 14:50 ,相差时间约为1.67小时,但显示为2.0小时!
请问大神们该怎么做啊以半小时为单位!不足半小时加到半小时
也就是说后面的保留的1位小数点 :1.5 ,2.0 ,2.5 只能以0.5 或者0.0出现
sql server 2008R2的
小于0.5的就按0.5算
大于0.5的就按1算 参考技术B 。。还没解决啊?好像早几天就看到你提问这个题目了,等我一会,如果是 sql server的话 我来给你解决。追问
sql server 2008R2
追答代码放在附件里面了,你可以用一个函数 也可以直接写,还有什么问题再问我,对了 最后的结果还要除以2 ,你改一下
25小时
追答把 这句改成
SET @I=CAST(CEILING(CAST(DATEDIFF(minute,@DATE_B,@DATE_E) AS DEC(18,2))/30) AS DEC(18,1))/2 --计算分钟差值并且取整
以0.5为准 ,现在的方法是以1为准了
保留的1位小数点 :1.5 ,2.0 ,2.5 只能以0.5 或者0.0出现
刚弄错了,不好意思。。
以上是关于sql语句! 8小时为一天! 半小时为准,分钟不满半小时按半小时算!的主要内容,如果未能解决你的问题,请参考以下文章