oracle資料庫怎麼把表中的欄位按規律拆

時間 2021-08-30 09:30:44

1樓:匿名使用者

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#, namefrom 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服務

2樓:千鋒教育

oracle 資料庫拆分欄位的實現方法:

用正規表示式拆分某一個欄位,比如有a,b,c,d,esql寫法如下:

select regexp_substr('a,b,c,d,e,','[^,]+',1,rownum)

from dual connect by rownum<=length(regexp_replace('a,b,c,', '[^,]', null))

結果:執行結果如下:

1 a2 b

3 c4 d5 e

3樓:匿名使用者

select id,replace(name ,'_',' ') from 表名

4樓:匿名使用者

select id,substr(name,1,instr(name,'_')-1) as 名字,substr(name,instr(name,'_')+1) as 地名 from tablename

5樓:午餐派

select a.address,substr(a.address, '1', instr(a.address, '省')) province,

substr(a.address,

instr(a.address, '省') + 1,instr(a.address, '市') -instr(a.address, '省')) city from address a

sql如何查詢一張表的所有欄位並按其中一個欄位進行分組

6樓:匿名使用者

1、建立測試表,

create table test_group_cols(id number,  value varchar2(20), remark varchar2(20));

2、插入測試資料

insert into test_group_cols values(1,'15y','rmk1');

insert into test_group_cols values(2,'15y','rmk1');

insert into test_group_cols values(3,'25x','rmk2');

insert into test_group_cols values(3,'333','rmk4');

insert into test_group_cols values(3,'666','rmk3');

insert into test_group_cols values(4,'35s','rmk1');

insert into test_group_cols values(4,'77','rmk1');

3、查詢該表的所有欄位,select t.*, rowid from user_tab_cols t where table_name = upper('test_group_cols'),可以發現共有3個欄位,

4、編寫sql,按id欄位進行分組,select id, count(*) from test_group_cols t group by id,

7樓:汐日南莘

group by 語句用於結合合計函式,根據一個或多個列對結果集進行分組。

group by 也可以同時使用多個欄位進行分組

例子:假設一個表tab有一個id欄位、一個name欄位,內容如下

id name

3 張三

5 李四

1 王五

1 趙六

sql 語句

select * from tab group by id

這條sql的結果應該是

id name

1 王五

3 張三

5 趙六

第一個name顯示的是王五 因為sql group by滿足條件的有多個時是取第一個的

上面的結果並沒有什麼實際意義 group by 一般結合合計函式一起使用

比如 sql語句

select id, count(*) total from tab group by id

用於統計每個id有多少個

結果id total

1 2

3 1

5 1

8樓:

select * from 表

group by 其中一個欄位名稱

9樓:風飛

select * from 表名 group by 欄位

一定會報錯的,select 後面1 是分組的欄位,要麼是聚合函式 max min sum arg 等

你分組是要進行匯**一計嗎?要是這樣的話,你就加聚合函式就好 了

10樓:匿名使用者

group by 必須搭配 聚組函式一起使用。使用order by ,可以達到你要的效果

11樓:帽子叔叔大

select * from

oracle資料庫,oracle資料庫價格

oracle是一種適用於大型 中型和微型計算機的關聯式資料庫管理系統,它使用sql structured guery language 作為它的資料庫語言。sql主要包括資料定義 資料操縱 包括查詢 和資料控制等三方面功能。sql是一種非過程化程度很高的語言,使用者只需說明 幹什麼 而無需具體說明 怎麼...

Oracle資料庫建立表空間問題

二者的主要區別就是前乙個的 extent 區 是自動管理的 extent management local 也就是說這個表空間oracle會根據缺省區的引數對extent進行管理。後面乙個語句所形成的表空間的 extent 是通過defaultstorage initial 20knext 10mp...

求助 c查詢oracle資料庫中的表的字段內容並按列顯示在listbox中

九州樹 protected void button1 click object sender,eventargs e dr.close dbc.dispose conn.close string strselect select distinct 欄位名 from test 查詢字串 dataset...