ホームページ > データベース > Oracle > Oracleでフィールドタイプを変換する方法

Oracleでフィールドタイプを変換する方法

青灯夜游
リリース: 2022-03-02 17:18:06
オリジナル
12040 人が閲覧しました

Oracle では、「ALTER TABLE MODIFY」ステートメントを使用してフィールド型を変換できます。構文は「ALTER TABLE テーブル名 MODIFY (フィールド名 新しいデータ型)」です。

Oracleでフィールドタイプを変換する方法

このチュートリアルの動作環境: 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート