2

我试图找出两个日期之间有多少天。我一直在尝试使用这个:

SET Days_Outstanding = DATEDIFF(day, CONVERT(datetime, LS_CHG_DTE_EQP, 1), CONVERT(datetime, Report_Date, 1))

但是,这不会以天为单位返回数字。它返回的日期时间与我的数据集无关。

我不确定问题出在哪里,对 SQL 来说还是相当新的。另外,我将 Days_Outstanding 定义为 int,这可能是问题所在吗?谢谢!

编辑

感谢大家!不知道发生了什么,我根据您的建议更改了一些内容,当我回到原来的状态时,它最终起作用了。不知道发生了什么。谢谢想!

4

3 回答 3

4

DATEDIFF返回整数

但是,天数可能是完全错误的,具体取决于和的值/数据LS_CHG_DTE_EQP/Report_Date类型locale

此外,DATEDIFF在一天的边界上工作,而不是 24 小时的时间段。所以23:5600:02是一天。

否则,请添加示例输入和输出。

于 2010-08-16T19:03:14.547 回答
3

例子

select DATEDIFF(dd,'20100101',getdate())

今天将返回 227

所以在你的情况下假设 LS_CHG_DTE_EQP 和 Report_Date 都是日期时间列

SET @Days_Outstanding = DATEDIFF(day, LS_CHG_DTE_EQP, Report_Date)
于 2010-08-16T19:04:24.657 回答
0

你试过吗

SET Days_Outstanding = CONVERT(datetime, LS_CHG_DTE_EQP, 1) - CONVERT(datetime, Report_Date, 1))
于 2010-08-16T19:03:10.977 回答