2011-08-03 19 views
3

我已經使用兩個子查詢的輸出(R1,R2),以便查詢以將它們劃分:PL SQL - 轉換的數值成VARCHAR(百分比)

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

除法器的輸出是一個(十進制)數字以及R1,R2輸出。

我要添加到結果的「%」符號,(即10,75%),但使用下面一個像一個解決方案,返回錯誤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-Pl/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: