CASE WHEN SUM(A.INPUT_QTY) > 0 THEN
CASE WHEN ROUND( (SUM(A.DEFECT_QTY) / SUM(A.INPUT_QTY)) * 100, 1) > 0
THEN
ROUND((SUM(A.DEFECT_QTY) / SUM(A.INPUT_QTY)) * 100, 1 )
ELSE 0
END
ELSE 0
END AS FPY
这是我在算不良率,显示数据是:56.7 这样
现在的问题是,我想在这里加%,也就是显示出来要56.7%。
如何做?
CASE WHEN ROUND( (SUM(A.DEFECT_QTY) / SUM(A.INPUT_QTY)) * 100, 1) > 0
THEN
ROUND((SUM(A.DEFECT_QTY) / SUM(A.INPUT_QTY)) * 100, 1 )
ELSE 0
END
ELSE 0
END AS FPY
这是我在算不良率,显示数据是:56.7 这样
现在的问题是,我想在这里加%,也就是显示出来要56.7%。
如何做?
CASE WHEN SUM(A.INPUT_QTY) > 0 THEN
CASE WHEN ROUND( (SUM(A.DEFECT_QTY) / SUM(A.INPUT_QTY)) * 100, 1) > 0
THEN
ROUND((SUM(A.DEFECT_QTY) / SUM(A.INPUT_QTY)) * 100, 1 )
ELSE 0
END
ELSE 0
END ||'%' AS FPY
那是你sql的问题了。把全部sql粘出来。。
CASE WHEN ROUND( (SUM(A.DEFECT_QTY) / SUM(A.INPUT_QTY)) * 100, 1) > 0
THEN
ROUND((SUM(A.DEFECT_QTY) / SUM(A.INPUT_QTY)) * 100, 1 )
ELSE 0
END
ELSE 0
END )||'%' AS FPY
这样试试的呢
CASE WHEN ROUND( (SUM(A.DEFECT_QTY) / SUM(A.INPUT_QTY)) * 100, 1) > 0
THEN
ROUND((SUM(A.DEFECT_QTY) / SUM(A.INPUT_QTY)) * 100, 1 )
ELSE 0
END
ELSE 0
END ||'%' AS FPY
是这样的,麻烦大家在看完再回复一次
1、现根据你原来的sql把数据倒入进去,假设这个字段名称为 col
2、倒入完毕后更新这个表给这个字段后面加个 '%'
update tab1
set tabl.col = tab1.col||'%';
commit;ps.如果你这还说不行,我真的没办法了。
--对外层的那个CASE WHEN加上
TO_CHAR(CASE WHEN .............)||'%'
CASE WHEN ROUND( (SUM(A.DEFECT_QTY) / SUM(A.INPUT_QTY)) * 100, 1) > 0
THEN
ROUND((SUM(A.DEFECT_QTY) / SUM(A.INPUT_QTY)) * 100, 1 )
ELSE 0
END
ELSE 0
END)||'%' AS FPY
CASE WHEN ROUND( (SUM(A.DEFECT_QTY) / SUM(A.INPUT_QTY)) * 100, 1) > 0
THEN
ROUND((SUM(A.DEFECT_QTY) / SUM(A.INPUT_QTY)) * 100, 1 )
ELSE 0
END
ELSE 0
END),'9999990.99'))||'%' AS FPY
insert into table (FPY) select FPY ||'%' from TTT;
增加进去的数据是56.2? 还是56.2%
insert 语句就不用改了
只要在查询语句中用 to_char(字段名)||'%' 就行了
如:select to_char(字段名)||'%' from 表名该不会是就这么简单吧?