取时间差

清海扬波 2009-07-27 11:26:11
数据是这样
2009-05-01
2009-05-12
结果是:
2009-05-01 11
2009-05-12
中间相差的天数要在上面显示。
除了用游标之外,有没有其他的方法?
...全文
85 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
-狙击手- 2009-07-27
  • 打赏
  • 举报
回复
就两条数据?从第二条开始全是和第一条比?
sdhdy 2009-07-27
  • 打赏
  • 举报
回复
declare @tb table(dt datetime)

insert @tb select '2009-05-01'
insert @tb select '2009-05-12'

select dt=convert(varchar(10),dt,120),
ts=datediff(dd,dt,(select top 1 dt from @tb where dt>a.dt order by dt)) from @tb a

/*

dt ts
---------- -----------
2009-05-01 11
2009-05-12 NULL
*/
jinjazz 2009-07-27
  • 打赏
  • 举报
回复
如果有id可以用子查询

34,576

社区成员

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

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