求oracle修改資料庫欄位長度sql

時間 2021-10-14 22:24:01

1樓:匿名使用者

2個辦法:

1. 使用備份表:

a. create table test as select * from a

b. drop table a ;

c. create table a(... -- 將ddd欄位改為char(20)

d. insert into a select * from test

e. drop table test2. 使用臨時列 用plsql deva. 為表增加類 ddd_tmp

b. update a set ddd_tmp = dddc. 刪除ddd列

d. 增加ddd列 char(20)

e. update a set ddd= ddd_tmpf. 刪除ddd_tmp列

2樓:

最便捷的方法就是:

先修改該列名為b,

然後給該表新增新列ddd char(20),接著update a set ddd=b;

最後刪除b列。

ok了~

3樓:

1.建立個臨時表 將資料匯入臨時表

create table temp as select * from table

2.truncate table 將char(30) 改為char(20)

3.將臨時表中的資料修改列 trim(a) 匯入table

4樓:夜冥明

alter table a add column ddd_tmp char(20);

update a set ddd_tmp = ddd;

alter table a set unused column ddd;

alter table a drop unused column;

alert table a add column ddd char(20);

update a set ddd = ddd_tmp;

alter table a set unused column ddd_tmp;

alter table a drop unused column;

表內修改

5樓:匿名使用者

試試這個辦法

1、把列修改為varchar2(30)

2、然後更新ddd=trim(ddd),此時空格都被去掉了,列長度都不大於20

3、把列修改為char(20)

6樓:匿名使用者

試下能不能先修改為varchar(30)再改為char(20)

7樓:匿名使用者

create table a_temp as select * from a;

delete from a;

alter table a modify (column) ddd char(20);

insert into a select * from a_temp;

以上方法也許能解決您的問題,請謹慎操作。

如何修改oracle資料庫的欄位型別長度

8樓:千鋒教育

1、通過來圖形介面操作,在左側依次選

源擇objects-tables,右鍵單擊bai要修改的du表名,選中‘zhiedit’-column,可以直接修改;dao

2、使用ddl語句:alter table 表名 modify 欄位名(字元型別(長度))

例如:alter table emp modify ename(varchar2(32))

oracle 已經建好的表怎麼修改欄位大小?

9樓:匿名使用者

根據欄位型別決定

alter table 表名 modify 欄位名 varchar2(長度); 或

alter table 表名 modify 欄位名 number(長度 );

只能改大。

想改小隻能重新建表將資料導到新表,再將舊錶drop掉。

10樓:

alter table a modify(id number(20));

11樓:匿名使用者

alter table a modify column 欄位 型別

12樓:帶著光圈的小雞

對二樓進行補充

欄位型別為

如果想改小,沒有資料可能直接用 alter table table_name modify column datatype;

如果有資料,改小的話可以會丟失資料。

比如:表:stu(name varchar2(20)) 要將欄位name的長度改為10

表中有一條資料:name(中國華西村刀光劍影) 長度超過10,擷取的時候必然要丟失資料。

當然 如果表中的資料長度都小於10,則可以用sql語句段來直接搞定。

begin

alter table stu add (name2 varchar2(10)); 增加新欄位

update stu set name2=substr(trim(name),1,10); 賦值給新欄位

alter table stu drop(name); 刪除原欄位

alter table stu rename column name2 to name; 將新欄位改名

end;

在oracle中怎麼查詢某個欄位的長度

13樓:二鍋頭就是二

select * from 表名 where length(nvl(欄位,''))=1 order by 欄位

例如:一個列裡面有長短不一的數字如何判斷數字的長度

如:i_code

使用select i_code from tablename  where length(i_code)=4。即可算出答案

另外,一個漢字在oracle資料庫裡佔多少位元組跟資料庫的字符集有關,utf8時,長度為三。select lengthb('飄') from dual   可查詢漢字在oracle資料庫裡佔多少位元組

擴充套件資料

查詢包含dno欄位,且欄位長度<10的表,使用如下函式

select * from user_tab_cols t where t.column_name like '%dno%' and data_length < 10;

有時候資料庫中有很多表包含同一個欄位時,要修改表欄位長度,可以通過這個查詢哪些需要修改。

14樓:匿名使用者

可以用select length(欄位名) from 表名;

這句是看錶中所有這個欄位的長度

如果是select length(欄位名) from 表名where 要查詢那個記錄;

這樣就可以了。。。

15樓:笑看風雲天然

select table_name,column_name,data_type,data_length from user_tab_columns where table_name='your table' and column_name='column_name ' (注意替換字串,必須用大寫字母)

16樓:

用length('column')方法!

17樓:仗劍折花

select column_name as 欄位名, data_type as 資料型別, data_length as 資料長度

from user_tab_columnswhere table_name = 'emp'

and column_name in ('ename','sal')

18樓:匿名使用者

用length

例如:select length(某個欄位) from 表

oracle資料庫資料修改語句,Oracle資料庫資料修改語句

墨汁諾 把查出來的資料做乙個表g,a.rsc status cd as rsc status 使用update g set g.rsc status 43 使用b表資料更新a表,那麼where條件是什麼,也就是說,更新a表中哪些資料,用b表中的哪些資料更新,二者的關係是什麼。從你的語句中我看不出b表...

怎麼用mysql front修改資料庫密碼

修改當前登入使用者的密碼 也就是修改自己的密碼 mysql set password password test query ok,0 rows affected 0.00 sec mysql select host,user,password from mysql.user host user p...

oracle資料庫,oracle資料庫價格

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