小女子又有难题了?如何取得两个日期时间型字段的时间差值?

lzrwj 2003-08-20 09:48:20
有两个字段:in_date,out_date,都是日期时间型,如何取得这两个时间的差值,格式要是:01.01.01 01:01:01(1年1月1日 1小时:1分钟:1秒钟)
谢谢各位大哥了
...全文
113 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
prcgolf 2003-09-25
  • 打赏
  • 举报
回复
up
TomKen 2003-09-24
  • 打赏
  • 举报
回复
up
w_rose 2003-09-05
  • 打赏
  • 举报
回复
declare @a datetime,@b datetime,@c datetime,@d datetime
set @a='2003-9-1 12:39'
set @b='2003-9-5 11:55:58'
set @c=@b-@a
set @d=convert(varchar(20),@c,108)
select cast(cast(day(@c) as varchar)+'天'+cast(datepart(hour,@d) as varchar)+'小时'+cast(datepart(minute,@d) as varchar)+'分'+cast(datepart(second,@d) as varchar)+'秒' as varchar(30)) as 时间差
go

w_rose 2003-09-05
  • 打赏
  • 举报
回复
declare @a datetime,@b datetime,@c datetime
set @a='2003-9-1 12:39'
set @b='2003-9-5 11:55:58'
set @c=@b-@a
select cast(day(@c) as varchar)+'天 '+convert(varchar(8),@c,108) as 时间差
go
lzrwj 2003-09-05
  • 打赏
  • 举报
回复
TomKen(忘情冷雨夜) :
但我是要两个时间的差呀, 只是这个差要 00.00.00 00.00.00这样的格式显示.

比如说: 2003.09.04 11:30:30 与 2003.09.05 12:40:40的时间差应该是1天1小时10分10秒
如果用我的格式显示就是: 00.00.01 01:10:10

而用大力的方法结果是:99-12-31 01:10:10
caoyanqi1981 2003-09-04
  • 打赏
  • 举报
回复
DATEDIFF
eminena 2003-09-04
  • 打赏
  • 举报
回复
大力小女子!
qiaolin53 2003-09-04
  • 打赏
  • 举报
回复
SELECT DATEDIFF(day, '2003-1-1',getdate()) days
郝人(好人) 2003-09-03
  • 打赏
  • 举报
回复
请问时间差再乘以单价写回“计价”字段中,如何实现?即时间*数字---》计费。
在SQLSERVER中好象不支持时间乘以数字的写法,ACCESS中可以,不知如何解决?
lifeforu 2003-08-21
  • 打赏
  • 举报
回复
结果是对的,00-01-01 00:00:00表示1月1日,是日期的起始时间,没有0月0日吧
TomKen 2003-08-21
  • 打赏
  • 举报
回复
lzrwj(lzrwj)
结果是对的。datediff函数求出两个时间差结果以秒得出,再用dateadd函数在1900-1-1上加上此秒数,结果以“00-01-01 00:00:00”形式显示。因为你那两个时间相同,所以就没有时间差,也就没在1900-1-1上加上时间。所以和原时间相同(1900-1-1)。
lzrwj 2003-08-20
  • 打赏
  • 举报
回复
pengdali(大力 V2.0) :
你这方法不行呀,我用:
select right(CONVERT(varchar(19),dateadd(
second,datediff(second,'2003-05-05 12:30:30','2003-05-05 12:30:30'),'1900-1-1'),120),17) 差值

结果是:00-01-01 00:00:00
这结果分明不对呀
yun198183 2003-08-20
  • 打赏
  • 举报
回复
学习,向大力学习
pengdali 2003-08-20
  • 打赏
  • 举报
回复
select right(CONVERT(varchar(19),dateadd(second,datediff(second,in_date,out_date),'1900-1-1'),120),17) 差值 from 表

34,576

社区成员

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

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