質問: to_numberの結果は、カラムに追加できない? いつもお世話になっています。 to_number実行時、結果はnumeric型で取得できると思うのですが、 その値をカラムに追加することはできるのでしょうか? insert into number2 values((select numberstr,to_number (numberstr,'000.000') from number),'aaa'); 実行すると、 副問い合わせは1列のみを返さなければなりませんというerrorが生じます。 なのでwhere句を追加しましたが、結果は同じです。 実行したsqlは、 create table number ( count integer not null primary key, numberstr varchar(20) not null ); create table number2 ( no numeric not null primary key, numbers varchar(30) not null); insert into number values(5,'555.55000'); insert into number2 values((select numberstr,to_number (numberstr,'000.000') from number where count=5),'aaa'); です。 宜しくお願いします。
回答: >副問い合わせは1列のみを返さなければなりませんというerrorが生じます。 >なのでwhere句を追加しましたが、結果は同じです。 where句を追加したということは行と勘違いされているのでは? 『(select numberstr,to_number (numberstr,'000.000') from number)』の部分で 「numberstr」と「to_number (numberstr,'000.000')」の2列返しているという意味です。 「numberstr」の方を削除すればエラーにはならないと思います。