Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server DATEADD函数中的y在年内不起作用。相反,我可以使用yy或year。然而,m和d起作用。为什么?_Sql Server - Fatal编程技术网

Sql server DATEADD函数中的y在年内不起作用。相反,我可以使用yy或year。然而,m和d起作用。为什么?

Sql server DATEADD函数中的y在年内不起作用。相反,我可以使用yy或year。然而,m和d起作用。为什么?,sql-server,Sql Server,返回的结果是'20160213'。为了得到期望的结果,我必须使用yy或year 然而,两者: SELECT DATEADD(y, 1, '20160212'); -- using y does not work. 为什么?来自 datepart缩写 年,年 季度qq,q 月mm,m dayofyear dy,y是你应该使用全名的原因之一,而不是缩写!如果您使用的是DATEADD(MONTH,…)而不是DATEADD(m,…。,则会使代码更具可读性-这是m又代表了几个月还是几分钟。。。。 SEL

返回的结果是
'20160213'
。为了得到期望的结果,我必须使用yy或year

然而,两者:

SELECT DATEADD(y, 1, '20160212'); -- using y does not work.
为什么?

来自

datepart缩写
年,年
季度qq,q
月mm,m

dayofyear dy,y是你应该使用全名的原因之一,而不是缩写!如果您使用的是
DATEADD(MONTH,…)
而不是
DATEADD(m,…。
,则会使代码更具可读性-这是
m
又代表了几个月还是几分钟。。。。
SELECT DATEADD(m, 1, '20160212'); 
SELECT DATEADD(d, 1, '20160212'); --works.
datepart        Abbreviations
year            yy, yyyy
quarter         qq, q
month           mm, m
dayofyear       dy, y     <--- y is already used for day of year
day             dd, d
week            wk, ww
weekday         dw, w
hour            hh
minute          mi, n
second          ss, s
millisecond     ms
microsecond     mcs
nanosecond      ns