我正在使用DATEDIFF(day, date1, date2)
并且效果很好。
如果一个数是正数,是否可以有加号,如果是负数,是否可以有减号。
最佳答案
您可以将输出转换或转换为字符串,然后根据需要添加“+”号(如果是负数,则减号已经存在。
Case When DATEDIFF( day, date1, date2) > 0 Then '+' Else '' End + Cast (DATEDIFF( day, date1, date2) as VarChar(10))
这是一个例子
;With MyTable as
(
Select GETDATE() as Date1, GetDate()+10 as Date2
)
Select
Case When DATEDIFF( day, date1, date2) > 0 Then '+' Else '' End + Cast (DATEDIFF( day, date1, date2) as VarChar(10))
From MyTable
;With MyTable as
(
Select GETDATE() as Date1, GetDate()-10 as Date2
)
Select
Case When DATEDIFF( day, date1, date2) > 0 Then '+' Else '' End + Cast (DATEDIFF( day, date1, date2) as VarChar(10))
From MyTable
关于SQL DATEDIFF 如果数字为正则添加加号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27948351/