SQL DateTime几天的差异
-
29-09-2019 - |
题
我试图在两个日期之间找到多少天。我一直在尝试使用它:
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_Date
和 locale
还, DATEDIFF
在一天边界而不是24小时的时间内工作。所以 23:56
到 00: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))
不隶属于 StackOverflow