DATEADD(DAY, 1, GETDATE()) 和 DATEADD(DAY, 1, DATEDIFF(DAY, 0, GETDATE())) 有什么区别
What is different between DATEADD(DAY, 1, GETDATE()) and DATEADD(DAY, 1, DATEDIFF(DAY, 0, GETDATE()))
两者有什么不同
DATEADD(DAY, 1, GETDATE())
和
DATEADD(DAY, 1, DATEDIFF(DAY, 0, GETDATE()))
谁能帮忙展示示例,如何使用它们?
第一个版本包含 GETDATE()
的时间部分。第二个没有。所以,如果当前时间是2018-01-01T05:43:26,那么第一个版本returns:
2018-01-02T05:43:26
第二个去掉了时间成分,所以returns:
2018-01-02T00:00:00
我认为在第二天开始时获得午夜的更好版本是:
dateadd(day, 1, cast(getdate() as date))
在您的第一个版本中DateAdd()
在当前日期中添加日期。
在你的第二个版本中,首先执行 DATEDIFF(DAY, 0, GETDATE())
它给你不同的日期,然后它会在 DATEDIFF(DAY, 0, GETDATE())
结果中添加一天。
两者有什么不同
DATEADD(DAY, 1, GETDATE())
和
DATEADD(DAY, 1, DATEDIFF(DAY, 0, GETDATE()))
谁能帮忙展示示例,如何使用它们?
第一个版本包含 GETDATE()
的时间部分。第二个没有。所以,如果当前时间是2018-01-01T05:43:26,那么第一个版本returns:
2018-01-02T05:43:26
第二个去掉了时间成分,所以returns:
2018-01-02T00:00:00
我认为在第二天开始时获得午夜的更好版本是:
dateadd(day, 1, cast(getdate() as date))
在您的第一个版本中DateAdd()
在当前日期中添加日期。
在你的第二个版本中,首先执行 DATEDIFF(DAY, 0, GETDATE())
它给你不同的日期,然后它会在 DATEDIFF(DAY, 0, GETDATE())
结果中添加一天。