散分!经典入门级的字段分隔后更新问题!

mrhu268 2016-12-15 02:54:23
现有字段表A,其中1个字段field1的每个值均为如下这种格式的(下面每一行均是字段field1每行的值):
KKK0000001@111111@192.168.1.1
KKK0000001@111111@192.168.1.2
KKK0000001@111111@192.168.1.3
KKK0000001@111111@192.168.1.4
...................................................
现在想实现,(要写的sql):将field1字段值,批量修改为:
KKK0000001@111111@10.16.100..1
KKK0000001@111111@10.16.100.2
KKK0000001@111111@10.16.100.3
KKK0000001@111111@10.16.100.4
...................................................

提示:其实要改的就是field1字段值[从左到右数]第2个@后面的值即可!

请赐教!快速结贴!
...全文
133 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
js14982 2016-12-15
  • 打赏
  • 举报
回复
嗯,replace是最简单的方式,也还可以用substr+instr来实现,麻烦很多
select substr(field1,1,instr(field1,'@',2))||'10.16.100'||substr(field1,instr(field1,'@',2)+10)
from A
mrhu268 2016-12-15
  • 打赏
  • 举报
回复
update A set field1=replace(url,'192.168.1.1 ','10.16.100.1') 貌似自己搞定了!
mrhu268 2016-12-15
  • 打赏
  • 举报
回复
再补充下:就是将字段field1每行值里面第2个@后面的192.168.1.1 都更新为10.16.100.1即可。(该字段值第2个@前面得值都不改变。)
mrhu268 2016-12-15
  • 打赏
  • 举报
回复
抱歉,需求说错了!确认是如下这样的: 现有字段表A,其中1个字段field1的每个值均为如下这种格式的: KKK0000001@111111@192.168.1.1 ................................................... 现在想实现,(要写的sql):将field1字段值,批量修改为: KKK0000001@111111@10.16.100.1 ................................................... 提示:其实要改的就是field1字段值[从左到右数]第2个@后面的值即可!

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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