sqlserver 日期替换求助?

knifeguest 2013-12-31 04:20:30
表A

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

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

怎么改呀
...全文
160 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2013-12-31
  • 打赏
  • 举报
回复
“替换”本质上还是UPDATE啊
  • 打赏
  • 举报
回复
引用 12 楼 knifeguest 的回复:
[quote=引用 11 楼 yupeigu 的回复:] [quote=引用 10 楼 knifeguest 的回复:] [quote=引用 8 楼 chwnrthd 的回复:] 你的数据都不是datetime类型 不好用日期dateadd来更新 只能字符串更新了
是DATETIME类型[/quote] 你试试上面giftzheng写的这个语句: update 表名 set 日期=dateadd(year,10,日期) where DATEPART(YEAR,日期)='2003' 应该可以[/quote] 这样太麻烦了, 有没有替换语句,直接替换前面4个字符串 其他不变[/quote] 这样吗:
update 表名
set 日期=replace(convert(varchar(30),日期,120),'2003','2013')
knifeguest 2013-12-31
  • 打赏
  • 举报
回复
引用 11 楼 yupeigu 的回复:
[quote=引用 10 楼 knifeguest 的回复:] [quote=引用 8 楼 chwnrthd 的回复:] 你的数据都不是datetime类型 不好用日期dateadd来更新 只能字符串更新了
是DATETIME类型[/quote] 你试试上面giftzheng写的这个语句: update 表名 set 日期=dateadd(year,10,日期) where DATEPART(YEAR,日期)='2003' 应该可以[/quote] 这样太麻烦了, 有没有替换语句,直接替换前面4个字符串 其他不变
  • 打赏
  • 举报
回复
引用 10 楼 knifeguest 的回复:
[quote=引用 8 楼 chwnrthd 的回复:] 你的数据都不是datetime类型 不好用日期dateadd来更新 只能字符串更新了
是DATETIME类型[/quote] 你试试上面giftzheng写的这个语句: update 表名 set 日期=dateadd(year,10,日期) where DATEPART(YEAR,日期)='2003' 应该可以
knifeguest 2013-12-31
  • 打赏
  • 举报
回复
引用 8 楼 chwnrthd 的回复:
你的数据都不是datetime类型 不好用日期dateadd来更新 只能字符串更新了
是DATETIME类型
knifeguest 2013-12-31
  • 打赏
  • 举报
回复
不好意思我没有说清楚 数据非常多 如有: 2003-10-29:10:16:20 2003-11-27:10:16:20 2003-11-26:10:16:20 2003-12-29:10:16:20 ...... 只需要把年 改成2013
  • 打赏
  • 举报
回复
你的数据都不是datetime类型 不好用日期dateadd来更新 只能字符串更新了
giftzheng 2013-12-31
  • 打赏
  • 举报
回复
update 表名 set 日期=dateadd(year,10,日期) where DATEPART(YEAR,日期)='2003'
  • 打赏
  • 举报
回复
引用 楼主 knifeguest 的回复:
表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'
發糞塗牆 2013-12-31
  • 打赏
  • 举报
回复
有什么规则?
knifeguest 2013-12-31
  • 打赏
  • 举报
回复
数据比较多 都是 年 有问题!
發糞塗牆 2013-12-31
  • 打赏
  • 举报
回复
如果只有一条数据,直接update就好拉,问题不像那么简单吧?
發糞塗牆 2013-12-31
  • 打赏
  • 举报
回复
你这日期格式有问题吧?
  • 打赏
  • 举报
回复


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

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧