首页  >  文章  >  数据库  >  SQL DATEADD函数 (sqlserver 只更新表中年份,不改其他时间)

SQL DATEADD函数 (sqlserver 只更新表中年份,不改其他时间)

WBOY
WBOY原创
2016-06-07 15:40:312314浏览

DATEADD ( datepart , number , date ) 将指定 number 时间间隔(有符号整数)与指定 date 的指定 datepart 相加后,返回该 date 。 参数 datepart 是与 number 相加的 date 部分。下表列出了所有有效的 datepart 参数。用户定义的变量等效项是无效的。 numb

 

<p><span>DATEADD</span><span> (</span><span>datepart</span><span> , </span><span>number</span><span> , date )</span></p>

 

  将指定 number 时间间隔(有符号整数)与指定 date 的指定 datepart 相加后,返回该 date

 

 

参数

datepart

   是与number 相加的 date 部分。下表列出了所有有效的 datepart 参数。用户定义的变量等效项是无效的。

SQL DATEADD函数  (sqlserver 只更新表中年份,不改其他时间)  

 

number

  是一个表达式,可以解析为与 date 的 datepart 相加的 int。用户定义的变量是有效的。

  如果您指定一个带小数的值,则将小数截去且不进行舍入。


date

  是一个表达式,可以解析为 time、date、smalldatetime、datetime、datetime2 或 datetimeoffset 值。date 可以是表达式、列表达式、用户定义的变量或字符串文字。如果表达式是字符串文字,则它必须解析为一个 datetime 值。为避免不确定性,请使用四位数年份。


返回类型

  字符串文字的返回数据类型为 datetime。如果字符串文字的秒数小数位数超过三位 (.nnn) 或包含时区偏移量部分,将引发错误。

 

返回值

 datepart 参数

  dayofyearday 和 weekday 返回相同的值。

  每个 datepart 及其缩写都返回相同的值。

  如果 datepart 为 month 且 date 月份(八月份)比返回月份(九月份)的天数多,因而 date 中的日在返回月份中不存在(九月份的31号),则返回返回月份的最后一天。例如,9 月份有 30 天;因此,下面两个语句返回 2006-09-30 00:00:00.000:

 

<p><span>SELECT</span><span>DATEADD</span><span>(</span><span>month</span><span>, </span><span>1</span><span>, </span><span>'</span><span>2006-08-30</span><span>'</span><span>)<br></span><span>SELECT</span><span>DATEADD</span><span>(</span><span>month</span><span>, </span><span>1</span><span>, </span><span>'</span><span>2006-08-31</span><span>'</span><span>)</span></p>

 

number 参数

  number 参数不能超出 int 的范围。在下面的语句中,number 的参数超出 int 范围 1。将返回如下错误消息:“将表达式转换为数据类型 int 时出现算术溢出错误。”

<p><span>SELECT</span><span>DATEADD</span><span>(</span><span>year</span><span>,</span><span>2147483648</span><span>, </span><span>'</span><span>2006-07-31</span><span>'</span><span>);<br></span><span>SELECT</span><span>DATEADD</span><span>(</span><span>year</span><span>,</span><span>-</span><span>2147483649</span><span>, </span><span>'</span><span>2006-07-31</span><span>'</span><span>);</span></p>

 

date 参数

  date 参数不能增加至其数据范围之外的值。在下面的语句中,与 date 值相加的 number 值超出了 date 数据类型的范围。将返回如下错误消息:“将值添加到 'datetime' 列导致溢出。”

<p><span>SELECT</span><span>DATEADD</span><span>(</span><span>year</span><span>,</span><span>2147483647</span><span>, </span><span>'</span><span>2006-07-31</span><span>'</span><span>);<br></span><span>SELECT</span><span>DATEADD</span><span>(</span><span>year</span><span>,</span><span>-</span><span>2147483647</span><span>, </span><span>'</span><span>2006-07-31</span><span>'</span><span>);</span></p>
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn