试图找出SQL语句

时间:2014-01-29 08:03:02

标签: sql

我需要知道这句话是做什么的:

DATEADD(dd, DATEDIFF(dd, 0, startdate), 0)

非常感谢帮助。

2 个答案:

答案 0 :(得分:0)

它剥离了日期时间的时间部分

答案 1 :(得分:0)

来自DATEDIFF()的{​​{3}}:

  

返回指定的startdate和enddate之间交叉的指定日期部分边界的计数(有符号整数)。

所以这个

DATEDIFF(dd, 0, startdate)

返回日期0和列startdate中的值之间经过的天数。 Select高于函数,并将startdate替换为GETDATE()(当前日期和时间)。 当您将返回值除以365时,您将得到类似114的内容。当前年份 - 214 = 1900.所以日期“0”似乎是1900-01-01 00:00:00

来自DATEADD()的{​​{3}}:

  

返回指定的日期,并将指定的数字间隔(有符号整数)添加到该日期的指定日期部分。

现在,当您再次将此值添加到日期“0”时,您会获得当前日期,因为只有天数被添加到1900-01-01 00:00:00

时间值已从日期时间值中删除。