首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DATEADD(DATEADD,1,GETDATE())与DATEADD(DATEADD,1,DATEDIFF(DATEADD,0,GETDATE()有什么不同?

DATEADD(DATEADD,1,GETDATE())与DATEADD(DATEADD,1,DATEDIFF(DATEADD,0,GETDATE()有什么不同?
EN

Stack Overflow用户
提问于 2018-09-11 09:48:20
回答 2查看 4.5K关注 0票数 1

两者有什么不同?

代码语言:javascript
复制
DATEADD(DAY, 1, GETDATE())

代码语言:javascript
复制
DATEADD(DAY, 1, DATEDIFF(DAY, 0, GETDATE()))

有人能帮我举个例子,怎么用吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-11 09:49:42

第一个版本包括GETDATE()的时间组件。第二种情况并非如此。因此,如果当前时间为2018-01-01T05:43:26,则第一个版本返回:

代码语言:javascript
复制
2018-01-02T05:43:26

第二个移除时间组件,因此它返回:

代码语言:javascript
复制
2018-01-02T00:00:00

当第二天开始的时候,我想一个更好的版本是:

代码语言:javascript
复制
dateadd(day, 1, cast(getdate() as date))
票数 6
EN

Stack Overflow用户

发布于 2018-09-11 09:59:56

在您的第一个版本中,DateAdd()在当前日期中添加日期。

在第二个版本中,首先执行DATEDIFF(DAY, 0, GETDATE()),它给出不同的日期,然后它将在DATEDIFF(DAY, 0, GETDATE())结果中添加一天。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52273191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档