2011-08-03 8 views
3

私はそれらを分割するために、2つのサブクエリの出力(R1、R2)を使用するクエリを持っている:PL SQL - (パーセント)varchar型に数値を変換

select a.R1/b.R2*100.0 as Result 
from 
(query1) a, 
(query2) b 

部門の出力であります(10進数)番号とR1、R2出力を示します。

私は、結果に「%」記号、(すなわち10,75%)を追加したいのですが、1以下のようなソリューションを使用すると、エラー01722 =無効な数

select cast(cast(a.R1/b.R2*100.0 as decimal(10,2)) as varchar(10)) + '%' as Result 
from 
(query1) a, 
(query2) b 

答えて

6

ようこそを返します!

加算演算子'+'をSQL-P1/sql連結演算子で置き換えます。 '|| '。

我々できない使用文字リテラル直接で数値書式モデル日時変換のよう

​​

PL/SQL Concatenation operator

Number format models


例:

select cast(round(10.75, 2) as varchar(10)) || '%' as result 
from dual 

select to_char(round(1234567890.29, 2),'9G999G999G999D99') || '%' as result 
from dual 

PS。 ルートは常に同じです:

How to ask

All the "oracles" are here:

関連する問題