首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sqlserver 日期替换

2014-01-01 
sqlserver 日期替换求助?表A里面有个日期2003-12-31:16:19:20更改成2013-12-31:16:19:20怎么改呀[解决办法

sqlserver 日期替换求助?
表A   

里面有个日期  2003-12-31:16:19:20

更改成     2013-12-31:16:19:20

怎么改呀
[解决办法]



create table A (日期 nvarchar(20))
insert into A values('2003-12-31:16:19:20')
update A set 日期='2013-12-31:16:19:20' where 日期='2003-12-31:16:19:20'
select * from A

[解决办法]
如果只有一条数据,直接update就好拉,问题不像那么简单吧?
[解决办法]
引用:
表A   

里面有个日期  2003-12-31:16:19:20

更改成     2013-12-31:16:19:20

怎么改呀


日期的格式 2003-12-31:16:19:20 是不是多了个 : 号了,如果是文本的话,直接update就可以的:

update a
set 字段 = '2013-12-31:16:19:20'
where 字段= '2003-12-31:16:19:20'
[解决办法]
update 表名
set 日期=dateadd(year,10,日期)
where DATEPART(YEAR,日期)='2003'
[解决办法]
你的数据都不是datetime类型 不好用日期dateadd来更新 只能字符串更新了
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

你的数据都不是datetime类型 不好用日期dateadd来更新 只能字符串更新了



是DATETIME类型


你试试上面giftzheng写的这个语句:

update 表名
set 日期=dateadd(year,10,日期)
where DATEPART(YEAR,日期)='2003'

应该可以



这样太麻烦了, 有没有替换语句,直接替换前面4个字符串  其他不变


这样吗:
update 表名
set 日期=replace(convert(varchar(30),日期,120),'2003','2013')

热点排行