Oracle では、「ALTER TABLE MODIFY」ステートメントを使用してフィールド型を変換できます。構文は「ALTER TABLE テーブル名 MODIFY (フィールド名 新しいデータ型)」です。
このチュートリアルの動作環境: Windows 7 システム、Oracle 11g バージョン、Dell G3 コンピューター。
Oracle では、「ALTER TABLE MODIFY」ステートメントを使用して、フィールド タイプの変更など、既存の列の定義を変更できます。
構文形式:
ALTER TABLE table_name MODIFY(字段名称 新数据类型)
例: tb という名前のテーブル、name という名前のフィールド セグメント、および nchar(20) のデータ型があります。
1. フィールド データが空であると仮定すると、どのようなフィールド タイプが変更されても、直接実行できます:
alter table tb modify (name nvarchar2(20));
2. フィールドにデータがあると仮定すると、実行できますnvarchar2(20):
alter table tb modify (name nvarchar2(20));
3 に変更することで直接変更できます。フィールドにデータがあると仮定して、varchar2(40) に変更すると、「ORA-01439: データ型を変更するには」というポップアップが表示されます。 、変更する列は空である必要があります。この場合、次の方法を使用してこの問題を解決します:
/*修改原字段名name为name_tmp*/ alter table tb rename column name to name_tmp; /*增加一个和原字段名同名的字段name*/ alter table tb add name varchar2(40); /*将原字段name_tmp数据更新到增加的字段name*/ update tb set name=trim(name_tmp); /*更新完,删除原字段name_tmp*/ alter table tb drop column name_tmp;
概要:
1. フィールドにデータがない場合、またはフィールドにデータがない場合、または変更する新しいタイプは元のタイプと互換性があるため、直接変更できます。
2. フィールドにデータがあり、変更する新しい型が元の型と互換性がない場合、転送用に新しいフィールドを間接的に作成します。
推奨チュートリアル: 「Oracle チュートリアル 」
以上がOracleでフィールドタイプを変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。