您的位置:首页 > 数据库

【SQL Server】SQL语句生成百分比

2010-11-16 16:03 316 查看
SELECT CAST(

CAST(

1. * a.tjCount / (

SELECT cnum = CASE COUNT(b.id)

WHEN 0 THEN 1

ELSE COUNT(b.id)

END

FROM B AS b

WHERE 1 = 1

AND DATA_TIME >= CONVERT(VARCHAR(100), GETDATE() -3, 23)

AND DATA_TIME < CONVERT(VARCHAR(100), GETDATE() -2, 23)

) * 100 AS DECIMAL(5, 2)

) AS VARCHAR(50)

) + '%' AS 'percents'

FROM A AS a ....

如果:a.tjCount是SUM()聚合函数的话,需要使用ISNULL(SUM())

另外时间条件也可以使用 FORMAT(column_name,format) 进行处理,如:SELECT FORMAT(Now(),'YYYY-MM-DD'),显示为:2010-11-16
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息