求时间差问题

uioppp 2006-09-07 12:30:05

求一个时间 如 16:20:00 离24:00:00
差几小时,几分,几秒
然后把表book中的date_in(时间类型)加上这个时间差
要怎么做??
...全文
211 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoku 2006-09-07
  • 打赏
  • 举报
回复
参考

declare @t1 datetime
declare @t2 datetime


set @t1 ='20:40:10'
set @t2 ='10:25:10'


select convert(varchar, @t1-@t2,108)

zjcxc 2006-09-07
  • 打赏
  • 举报
回复


DECLARE @a datetime
SET @a = '16:20:00'
SELECT
时 = s / 60 / 60,
分 = (s / 60) % 60,
秒 = s % 60,
增加差值 = DATEADD(second, s, '2006-1-1') -- 2006-1-1 是book中的date_in列的值
FROM(
SELECT s = DATEDIFF(second, @a, 1)
)A
xiaoku 2006-09-07
  • 打赏
  • 举报
回复
set @sql = 'select * from book where date_out>Date_Input+@difftime+1 '

改一下:

set @sql = 'select * from book where date_out>Date_Input+ '+@difftime+'+1 '


uioppp 2006-09-07
  • 打赏
  • 举报
回复
up
uioppp 2006-09-07
  • 打赏
  • 举报
回复
把时间差放在 一个动态语句中要怎样引用这个变量 ?

declare

@difftime datetime,
@sql varchar(8000)

set @difftime=cast('00:00:00' as datetime)-cast('8:00:00' as datetime)
set @sql = 'select * from book where date_out>Date_Input+@difftime+1 '

上一行 Date_Input+@difftime+1 是放在动态句中的不能这样写,
(Date_Input,date_out都是字段) 要怎么写才能引用 @difftime ??

22,294

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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