文档章节

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

蜀山下的鱼
 蜀山下的鱼
发布于 2015/04/29 00:37
字数 644
阅读 14
收藏 0

公司需要我更新下表中的时间,只是更新年份,其他不改,数据有几千条,肯定不可能手动更新了。。。。

所以我查了一下  有了这个方案:

 

update dbo.Dev_File set Factory_date=DATEADD(year,2, Factory_date);

update dbo.Dev_File set Install_date=DATEADD(year,2, Install_date);

update dbo.Dev_File set check_date=DATEADD(year,2,check_date);

 

以下是资料:

SQL DATEADD函数  

语法

 


       
DATEADD ( datepart , number , date )

 

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

 

 

参数

datepart

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

SQL DATEADD函数 - 小King - 小King的博客  

 

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:

 


       
SELECT DATEADD ( month , 1 , ' 2006-08-30 ' )
SELECT DATEADD ( month , 1 , ' 2006-08-31 ' )

 

number 参数

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

        
SELECT DATEADD ( year , 2147483648 , ' 2006-07-31 ' );
SELECT DATEADD ( year , - 2147483649 , ' 2006-07-31 ' );

 

date 参数

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

        
SELECT DATEADD ( year , 2147483647 , ' 2006-07-31 ' );
SELECT DATEADD ( year , - 2147483647 , ' 2006-07-31 ' );

 

本文转载自:http://blog.csdn.net/caiwenfeng_for_23/article/details/8934341

蜀山下的鱼
粉丝 9
博文 405
码字总数 0
作品 0
广州
高级程序员
私信 提问
【转载】 Sqlserver中DateAdd()函数

在Sqlserver数据库中,DATEADD() 函数在日期中添加或减去指定的时间间隔。例如计算当前时间往后一天的时刻以及往前1天的时刻时间即可使用DateAdd()函数来操作,DateAdd()函数的格式为:DATEA...

江湖逍遥
03/28
0
0
sqlserver datetime转换成带格式的字符串

sqlserver datetime转换成带格式的字符串,sqlserver datetime转换成固定格式的字符串,sqlserver datetime转换成字符串,sqlserver 时间类型与字符串之间的转换 我们在项目开发中经常用到sqlse...

憨豆1号
2013/03/06
301
0
【转载】Sqlserver使用Convert函数进行数据类型转换

在Sqlserver数据库中,可以使用Convert函数来进行数据类型的转换,如将数字类型decimal转换为字符串nvarchar类型,或者将字符串类型转换为数字类型都可以使用Convert函数来实现。Convert函数...

江湖逍遥
06/03
0
0
OpenJWeb 1.8数据库管理工具功能说明

QQ:29803446 msn:baozhengw999@hotmail.com email:baozhengw@163.com 联系人:王先生 OpenJWeb 1.8数据库管理工具功能说明 由于使用sqlserver 的DTS跨数据库复制功能经常失败,所以openjweb开...

迷途d书童
2012/03/09
75
0
【转载】Sqlserver使用SUBSTRING函数截取字符串

在SQL语句查询过程中,Sqlserver支持使用LEFT()、RIGHT()、SUBSTRING()等几个函数对字符串进行截取操作,SubString函数相对于其他两个函数来说更灵活,使用场景更多,可以指定截取开始的位置...

江湖逍遥
05/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊Tomcat中的连接器(Connector)

上期回顾 上一篇文章《Tomcat在SpringBoot中是如何启动的》从main方法启动说起,窥探了SpringBoot是如何启动Tomcat的,在分析Tomcat中我们重点提到了,Tomcat主要包括2个组件,连接器(Conne...

木木匠
56分钟前
3
0
OSChina 周一乱弹 —— 熟悉的味道,难道这就是恋爱的感觉

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :好久没分享歌了分享张碧晨的单曲《今后我与自己流浪》 《今后我与自己流浪》- 张碧晨 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
1K
20
SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
34
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
4
0
mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
昨天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部