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服务
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
select id,replace(name ,'_',' ') from 表名
select id,substr(name,1,instr(name,'_')-1) as 名字,substr(name,instr(name,'_')+1) as 地名 from tableName
select id,substr(name,1,instr(name,'_')-1),substr(name,instr(name,'_')+1) from tableName