2016-07-07 5 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

Iは

ALTER TABLE table_name 
MODIFY column_name datatype 

それともCHAR(n)は、nはCHARの最大長さであるVARCHAR2する列のデータ型を変更することを示唆しています。

Difference between char and varchar

+1

'char'はほとんど常に悪い選択です。 –

+0

@a_horse_with_no_nameあなたのポイントを精緻化するのは心配ですか?ありがとう –

+1

'char'カラムの値は常に、スペース文字を使って定義された長さに埋められます。したがって、 '' x ''の値をchar(10)列に格納すると、Oracleは '' x ''を格納します。あなたはそれを比較します。 'varchar'カラムに' x 'が含まれていると比較が失敗します。 'char'は' varchar'に勝る利点は全くありませんが、いくつかの欠点があります。 –

関連する問題