Oracle10gを使用しています。'sal'列のすべての値に#を追加したい。これを最初に達成するために、「sal」列のデータ型を数値からvarcharに変更しようとしていますが、次のエラーが発生します
私は何を間違っているのですか?
modify
2番目の代わりにキーワードを使用する必要がありますalter
。
alter table
emp
modify
(
sal varchar2(10)
);
modify
テーブルの列のデータ型を変更するときは、キーワードを使用する必要があります。
もちろん、既存の列データを処理する必要があります。テーブルの列のデータ型を変更するときは、行をエクスポートし、テーブルを再定義してから、データを再インポートすることをお勧めします。
この場合、列のデータ型を変更するには、次の手順に従う必要があります。
完全に良い数字を取り、文字列を追加して残りのユーザーを台無しにするのは賢明な考えではないようです。選択に直接またはビューを介して文字列を追加するだけですか?
何かのようなもの:
SQL> create view emp_horked
as
select ename, sal, sal || '#' hash, to_char(SAL,'9999.99') || '#' sal_padded
from emp;
View created.
SQL> select * from emp_horked where rownum < 5;
ENAME SAL HASH SAL_PADDE
---------- ---------- ----------------------------------------- ---------
SMITH 800 800# 800.00#
ALLEN 1600 1600# 1600.00#
WARD 1250 1250# 1250.00#
JONES 2975 2975# 2975.00#
のフォーマットモデルの詳細to_char