SQL DATEDIFF 如果数字为正则添加加号

标签 sql sql-server t-sql datediff

我正在使用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/

相关文章:

sql-server - 更改 SQL Server 中列的数据类型

SQL Server Management Studio 查询检查数据是否损坏(选择、连接等)

sql - 禁止基于 WHERE 子句的 SELECT 输出

sql - 如何连接2个表

python - mysql检索数据出错

mysql - 如何制作一个包含 3 列且每列都有不同条件的 View

c# - 如何使用 Active Directory 登录和多重身份验证 (MFA) 连接到数据库

sql - 如何在SQL Server 2005中使用IF语句?

sql - 列出全部或指定值 - SSRS 参数

从创建日期开始按年龄范围分组的 SQL 查询