Oracle PL SQL-将数值转换为varchar(百分比)

Oracle PL SQL-将数值转换为varchar(百分比),oracle,plsql,Oracle,Plsql,我有一个查询,它使用两个子查询的输出(R1,R2)来划分它们: 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 Re

我有一个查询,它使用两个子查询的输出(R1,R2)来划分它们:

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
欢迎光临

将加法运算符'+'替换为SQL Pl/SQL连接运算符:“|

我们不能像在日期时间转换中一样,在数字格式模型中直接使用字符文本


示例:

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. 路线始终相同: