我需要知道这句话是做什么的:
DATEADD(dd, DATEDIFF(dd, 0, startdate), 0)
非常感谢帮助。
答案 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
。
时间值已从日期时间值中删除。