Chinaunix首页 | 论坛 | 博客
  • 博客访问: 264286
  • 博文数量: 38
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 388
  • 用 户 组: 普通用户
  • 注册时间: 2015-12-19 22:03
文章分类
文章存档

2024年(1)

2018年(9)

2017年(11)

2016年(17)

我的朋友

分类: Oracle

2016-07-22 14:32:33

今日数据库服务器时间不知道为何跳到2002年,导致数据表中某个字段大量出错,软件无法正常使用。由于数据量太大,不可能一条一条的去更新,需要批量更新数据,且时间只更新该字段的一部分。要求只更新时间,其他不变,以下是更新语句,仅供大家参考:
1.由于整条字段较长,且又不完全更新,所以首先要做的就是把该字段拼凑完整,用到的函数substr和||连接符号。
select (substr(zybh,1,9)||sdrq||'5'||substr(zybh,19,4)),a.* from ksshyxxb a where zybh like '_________20020106%'
2.将拼凑完整的字段放到update语句中进行更新。
update ksshyxxb set zybh=substr(zybh,1,9)||sdrq||'6'||substr(zybh,19,4) where zybh like '_________20020106%'

注:Oracle中_这个代表一个字符,所以在like后面会接上一长串的下划线。
阅读(1781) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~