oracle 数据库 怎么把一个表中的一个字段按规律拆分,并显示出来

oracle数据库有一个表ID名字1张三_北京2李四_上海有没有什么函数,可以在数据库把名字那个以-分割展示出来是1张三北京就是要求用SQL的,前几天下载资料分用完了。。... oracle 数据库有一个表
ID 名字
1 张三_北京
2 李四_上海
有没有什么函数,可以在数据库把名字那个以-分割 展示出来是
1 张三 北京
就是要求用SQL的,前几天下载资料分用完了。。实在是没有了。。那个大神帮忙出手一下。。谢了
展开
 我来答
sooney651
高粉答主

2018-04-05 · 关注我不会让你失望
知道大有可为答主
回答量:213
采纳率:100%
帮助的人:29.7万
展开全部

1、首先需要sys或system权限操作

2、查询需要更改表的ID

select object_id  from all_objects where owner = 'ITHOME'
and object_name = 'TEST';1234

注:ITHOME为用户,TEST是要更改的表,表名要大写

3、通过ID查出该表所有字段的顺序

select obj#, col#, name
from sys.col$
where obj# = '103756' order by col#123

4、修改顺序

update sys.col$ set col#=2 where obj#=103756 and name='AGE';update sys.col$ set col#=3 where obj#=103756 and name='NAME';12

或直接在第三步的语句后面加 for update 进行修改

最后commit提交 并且重启Oracle服务

千锋教育
2016-01-03 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
oracle 数据库拆分字段的实现方法:
用正则表达式拆分某一个字段,比如有a,b,c,d,e

sql写法如下:
select regexp_substr('a,b,c,d,e,','[^,]+',1,rownum)
from dual connect by rownum<=length(regexp_replace('a,b,c,', '[^,]', null))
结果:
执行结果如下:
1 a
2 b
3 c
4 d
5 e
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badkano
2012-05-25 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885359
团长

向TA提问 私信TA
展开全部
select id,replace(name ,'_',' ') from 表名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenxingzhen00
2012-05-28 · TA获得超过328个赞
知道小有建树答主
回答量:442
采纳率:0%
帮助的人:201万
展开全部
select id,substr(name,1,instr(name,'_')-1) as 名字,substr(name,instr(name,'_')+1) as 地名 from tableName
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangmuchang
推荐于2017-11-25
知道答主
回答量:44
采纳率:100%
帮助的人:22.2万
展开全部
select id,substr(name,1,instr(name,'_')-1),substr(name,instr(name,'_')+1) from tableName
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式