dee*_*pak 1 sql sql-server sql-server-2008
Datediff非常混淆两天之间的差异:
DATEDIFF(DAY, '2014-09-01','2014-09-07')+1) AS totaldays
Run Code Online (Sandbox Code Playgroud)
当我写上面然后它会给我7天它是完美的....
但是当我写下面的时候
DATEDIFF(DAY, '2014-09-01','2014-09-02')+1) AS totaldays
Run Code Online (Sandbox Code Playgroud)
然后它会给我2天但我想1 day
用这个下面的功能
DATEDIFF(DAY, '2014-09-01','2014-09-02')+1) AS totaldays
Run Code Online (Sandbox Code Playgroud)
我怎么才能得到它?
该DATEDIFF
功能正在按预期工作.
DATEDIFF
只需通过第一个参数中指定的特定元素从第三个参数中减去第二个参数.
例如,以下查询提供了四列...所有从第三个中指定的日期减去第二个参数中指定的日期:
Select DATEDIFF(DAY, '2014-09-01','2014-09-07')+1, -- Calculation: (7-1)+1 = 7
DATEDIFF(DAY, '2014-09-01','2014-09-07'), -- Calculation: (7-1) = 6
DATEDIFF(DAY, '2014-09-01','2014-09-02')+1, -- Calculation: (2-1)+1 = 2
DATEDIFF(DAY, '2014-09-01','2014-09-02') -- Calculation: (2-1) = 1
Run Code Online (Sandbox Code Playgroud)
结果如预期:
Col1 | Col2 | Col3 | Col4
7 | 6 | 2 | 1
Run Code Online (Sandbox Code Playgroud)
这是此功能的MS文档.
如果您希望函数采取不同的行为,那么您将需要使用CASE语句.
归档时间: |
|
查看次数: |
88 次 |
最近记录: |