表中有两列a,b皆为整数,a<b,想查询a/a+b的值转换为百分数并保留2位,需要考虑a,b为0的情况。
我是这样写的SELECT CAST(CAST(A/ COALESCE (NULLIF (A + B, 0), 1) * 100 AS DECIMAL(18, 1)) AS VARCHAR(10)) + '%' AS '百分数' FROM TABLE
实在太长,求简洁一点的SQL语句,
我是这样写的SELECT CAST(CAST(A/ COALESCE (NULLIF (A + B, 0), 1) * 100 AS DECIMAL(18, 1)) AS VARCHAR(10)) + '%' AS '百分数' FROM TABLE
实在太长,求简洁一点的SQL语句,
LTRIM(CONVERT(DEC(18,2),A*100.0/(A+B)))+'%' AS '百分数'
FROM TB
WHERE ISNULL(A+B,0)<>0 AND A<B是这个意思?
LTRIM(CONVERT(DEC(18,2),A*100.0/(A+B)))+'%' ELSE '' END AS '百分数'
FROM TB 你那样不算长吧
SELECT CASE WHEN ISNULL(A+B,0)!=0 THEN
CONVERT(VARCHAR(10),CONVERT(NUMERIC(18,2),A*100.0/(A+B))))+'%' ELSE '' END AS '百分数'
FROM TB