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

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

但是,这不是在数天内返回的数字。它正在返回DateTime,这与我的数据集无关。

我不确定问题所在,仍然是SQL的新事物。另外,我的days_out被定义为int,这可能是问题吗?谢谢!

编辑

谢谢大家!不确定发生了什么事,我将一些事情更改为您的建议,当我回到原来的东西时,它会奏效。不确定发生了什么。谢谢!

有帮助吗?

解决方案

DATEDIFF 返回整数

但是,根据值/数据类型,天数可能是错误的 LS_CHG_DTE_EQP/Report_Datelocale

还, DATEDIFF 在一天边界而不是24小时的时间内工作。所以 23:5600:02 有一天。

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

其他提示

例子

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

今天将返回227

因此,在您的情况下,假设ls_chg_dte_eqp和report_date都是dateTime列

SET @Days_Outstanding = DATEDIFF(day, LS_CHG_DTE_EQP, Report_Date)

你只是尝试过吗

SET Days_Outstanding = CONVERT(datetime, LS_CHG_DTE_EQP, 1) - CONVERT(datetime, Report_Date, 1))
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top