时间差问题

wynlc 2014-02-26 09:39:35

select datediff(hh,'2014-02-08 17:00','2014-02-08 18:10')
1
select datediff(n,'2014-02-08 17:00','2014-02-08 18:10')
70


想得到两时间做差只要大于一小时就作为两小时
例如:'2014-02-08 17:00' 与 '2014-02-08 18:10'做差得出2个小时
...全文
80 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wynlc 2014-02-26
  • 打赏
  • 举报
回复
引用 6 楼 yupeigu 的回复:
[quote=引用 2 楼 wynlc 的回复:] [quote=引用 1 楼 fengqingtao2008 的回复:] case when 判断下
select case when(cast(datediff(hh,'2014-02-08 17:00','2014-02-08 18:10') as int))>1 then 2 else datediff(hh,'2014-02-08 17:00','2014-02-08 18:10') end
供参考!
不是只是一个小时情况 例如:'2014-02-08 17:00' 与 '2014-02-08 19:05'做差得出3个小时[/quote] 计算分钟差,然后除以60,然后求最大整数:
select ceiling(datediff(minute,'2014-02-08 17:00','2014-02-08 19:05')/60.0)
/*
3
*/
[/quote]
LongRui888 2014-02-26
  • 打赏
  • 举报
回复
select ceiling(datediff(minute,'2014-02-08 17:00','2014-02-08 18:10')/60.0)
/*
2
*/
LongRui888 2014-02-26
  • 打赏
  • 举报
回复
引用 2 楼 wynlc 的回复:
[quote=引用 1 楼 fengqingtao2008 的回复:] case when 判断下
select case when(cast(datediff(hh,'2014-02-08 17:00','2014-02-08 18:10') as int))>1 then 2 else datediff(hh,'2014-02-08 17:00','2014-02-08 18:10') end
供参考!
不是只是一个小时情况 例如:'2014-02-08 17:00' 与 '2014-02-08 19:05'做差得出3个小时[/quote] 计算分钟差,然后除以60,然后求最大整数:
select ceiling(datediff(minute,'2014-02-08 17:00','2014-02-08 19:05')/60.0)
/*
3
*/
  • 打赏
  • 举报
回复
应该大于0

select case when datediff(n,'2014-02-08 17:00','2014-02-08 18:10')%60>0
        then datediff(hh,'2014-02-08 17:00','2014-02-08 18:10')+1
        else datediff(hh,'2014-02-08 17:00','2014-02-08 18:10')
        end
  • 打赏
  • 举报
回复
查分钟 除以60 有余数则小时+1 没有则正常显示
  • 打赏
  • 举报
回复

select case when datediff(n,'2014-02-08 17:00','2014-02-08 18:10')%60>1
		then datediff(hh,'2014-02-08 17:00','2014-02-08 18:10')+1
		else datediff(hh,'2014-02-08 17:00','2014-02-08 18:10')
		end

wynlc 2014-02-26
  • 打赏
  • 举报
回复
引用 1 楼 fengqingtao2008 的回复:
case when 判断下
select case when(cast(datediff(hh,'2014-02-08 17:00','2014-02-08 18:10') as int))>1 then 2 else datediff(hh,'2014-02-08 17:00','2014-02-08 18:10') end
供参考!
不是只是一个小时情况 例如:'2014-02-08 17:00' 与 '2014-02-08 19:05'做差得出3个小时
无涯大者 2014-02-26
  • 打赏
  • 举报
回复
case when 判断下
select case when(cast(datediff(hh,'2014-02-08 17:00','2014-02-08 18:10') as int))>1 then 2 else datediff(hh,'2014-02-08 17:00','2014-02-08 18:10') end
供参考!

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧