我的表格包含以下值
Column_A (Type is Varchar)
0.181
165
0.13
0.034
Count
必须出局
18.1%
165
13.0%
3.4%
Count
因此,仅对于十进制值,它应以百分比形式转换。
我尝试了以下语法,该方法适用于所有结果,此处仅发布值为0.13,产生13%但不是13.0%
SELECT
CASE WHEN COLUMN_A LIKE '%.%' THEN CAST(CAST(COLUMN_A AS DECIMAL(10,3))*100 AS VARCHAR2(8))||'%' ELSE COLUMN_F END AS COLUMN_F
FROM Table_a;
有人有快速建议更改查询吗?
答案 0 :(得分:1)
试试这个:
SELECT
CASE
WHEN COLUMN_A LIKE '%.%' THEN
TO_CHAR(CAST(COLUMN_A AS DECIMAL(10,3))*100, '999.0') || '%'
ELSE COLUMN_A
END AS COLUMN_F
FROM Table_a;
分享并享受。