SQL 如何计算时间差

xiangaylian 2014-10-20 11:53:44
我要这样的效果:能算出date1 和date2之间相差了 XX年XX月XX天
...全文
139 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
还在加载中灬 2014-10-20
  • 打赏
  • 举报
回复
引用 3 楼 xiangaylian 的回复:
[quote=引用 2 楼 ky_min 的回复:] DATEDIFF(YEAR,DATE1,,DATE1)是年 DATEDIFF(MONTH,DATE1,,DATE1)是月 DATEDIFF(DAY,DATE1,,DATE1)是日
你这个月和日是累加的月和日,我想要的是比如13个月要显示成1年1月[/quote] 这个月好处理 DATEDIFF(MONTH,DATE1,,DATE1)%12 但是日怎么处理~~
xiangaylian 2014-10-20
  • 打赏
  • 举报
回复
引用 2 楼 ky_min 的回复:
DATEDIFF(YEAR,DATE1,,DATE1)是年 DATEDIFF(MONTH,DATE1,,DATE1)是月 DATEDIFF(DAY,DATE1,,DATE1)是日
你这个月和日是累加的月和日,我想要的是比如13个月要显示成1年1月
还在加载中灬 2014-10-20
  • 打赏
  • 举报
回复
DATEDIFF(YEAR,DATE1,,DATE1)是年 DATEDIFF(MONTH,DATE1,,DATE1)是月 DATEDIFF(DAY,DATE1,,DATE1)是日
發糞塗牆 2014-10-20
  • 打赏
  • 举报
回复
这个要datediff算出比如秒数然后再拼成你要的结果
xiangaylian 2014-10-20
  • 打赏
  • 举报
回复
非常感谢!
Tiger_Zhao 2014-10-20
  • 打赏
  • 举报
回复
DECLARE @date1 datetime
DECLARE @date2 datetime
DECLARE @dateDiff datetime

SET @date1 = Convert(datetime,'2000-01-23 04:56:07',120)
SET @date2 = GetDate()
SET @dateDiff = @date2 - @date1

SELECT @date1 AS [From],
@date2 AS [To],
Convert(varchar(11), Year(@dateDiff)-1900) + '年' +
Convert(varchar(11), Month(@dateDiff)) + '月' +
Convert(varchar(11), Day(@dateDiff)) + '天 ' +
Convert(varchar(8), @dateDiff, 114) AS [Diff]

From                    To                      Diff
----------------------- ----------------------- ------------------------------------------------
2000-01-23 04:56:07.000 2014-10-20 13:32:09.050 14年9月29天 08:36:02

34,838

社区成员

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

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