如何使用datediff在2列之间以日期格式生成结果

时间:2018-12-31 10:03:20

标签: sql sql-server

我正在尝试以日期格式生成datediff(间隔结果)的结果。

我有一个带有数字列的视图,另一个视图包含今天的日期值。

我想在这两个值之间建立一个日期差异,并将结果也作为一个日期。 例如:2018/12/312018/12/21的结果10。

日期格式为:YYYY,MM,DD

enter image description here

2 个答案:

答案 0 :(得分:4)

如果我理解正确,那么您希望从给定日期减去x天。 使用DATEADD函数。

SELECT 10 F1, '2018-12-31' Date2, DATEADD(DAY, -10, GETDATE())F3
  

注意:为了使用DATEADD函数进行减法,我们使用负值(-10)

enter image description here

答案 1 :(得分:0)

如果要在给定日期上添加日期数,则可以使用以下查询。

SELECT  CONVERT(varchar(10), DATEADD(DD, 10, '2018-12-21'), 23) AS DateAfterAdd;

--or

SELECT Cast(CONVERT(varchar(10), DATEADD(DD, 10, '2018-12-21'), 23) as Date) AS DateAfterAdd;

输出如下所示

DateAfterAdd
2018-12-31