2016-07-07 40 views
-1

我正在使用Oracle數據庫。有一個表名爲UC_ADMIN_TYPE。目前它設置爲1個字符。Oracle:更改變量的大小

因此,對於例如,該領域將有A,B,C,d的值,....

現在我們要改變這AA,BB,CC,......像那

所以基本上它應該支持2個字符。

我可以繼續並將當前UC_ADMIN_TYPE的1個字符更改爲2個字符嗎?

或者是否可以在當前UC_ADMIN_TYPE(1個字符)本身中適合2個字符?

如果我需要將其更改爲2個字符,那麼SQL是什麼?

該變化是否還有其他影響?

+2

除非你知道自己在做什麼,你要切換到'varchar2'數據類型。 'char'類型會用空格填充你的字符串,它可能會導致一些意外的行爲。 – sstan

回答

0

我建議修改所述列的數據類型爲VARCHAR2

ALTER TABLE table_name 
MODIFY column_name datatype 

或者,也許炭(n),其中n是炭的最大長度。

Difference between char and varchar

+1

'char'幾乎總是一個不錯的選擇。 –

+0

@a_horse_with_no_name介意闡述你的觀點?謝謝 –

+1

因爲'char'列的值總是被填充到定義的長度(使用空格字符)。因此,如果將值'x'存儲到'char(10)'列中,Oracle將存儲''x''。如果你比較一下'varchar'列中包含'x',則比較失敗。 'char'絕對沒有'varchar'的優點,但有幾個缺點。 –