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

2021-08-19 15:14:07 字數 3037 閱讀 6112

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資料庫如何增加表空間的大小

用以下兩種方法 方法1 修改資料檔案的擴充套件性 alter database datafile 檔案路徑 autoextend on next 100m maxsize 4000m 方法2 給表空間增加新的資料檔案 alter tablespace 表空間名 add datafile 資料檔案路徑...

oracle資料庫中varchar2 50 char和v

50相當於50byte,是按位元組計汪雹宴數,50char是按字元計數。對於多位元組字元 如漢字 varchar2 50 僅能儲存肆氏25個困銀漢字,而varchar2 50char 能儲存50個漢字。varchar2 50 char 這種copy型別的欄位最扮衝寬多放bai50個字元,不夠50個用...

關於oracle資料庫使用者和資料庫之間的關係

表空間,其實是 預設表空間。也就是這個使用者 create table 語句,不指定表空間的話。就預設把表,建立在那個 預設表空間 上面。沒有給他指定其它表空間的管理許可權 但使用者a能操作其它表空間,在其它表空間中建立表,是怎麼回事哪。這個要看你到底給了多少許可權給這個使用者a 你要是sql gr...