MySQL 条件 select case 的实现(解决 零 做分母的问题 )

第 10、12 行:

 1     
 2     -- ==================================
 3     -- 难度
 4     -- ==================================
 5         
 6     DECLARE @难度 DECIMAL(20,2) ;
 7 
 8     set @sql = ' insert into #临时表 SELECT ''难度'', 
 9 
10         case when max( t.[f_' + @统计字段 + '] ) = 0 then 0 else 
11 
12         avg( t.[f_' + @统计字段 + '] )/( max( t.[f_' + @统计字段 + '] ) + 0.0 )*100 end
13 
14         FROM [t_综合素质成绩表] t ' + @where ;
15 
16     INSERT INTO #临时表 VALUES( '难度(sql)', @sql ) ;
17     
18     EXEC( @sql );
19 
20     SELECT @难度 = CAST( 值 as DECIMAL(20,10) ) FROM #临时表 WHERE 项目 = '难度' ;
21 
22     INSERT INTO #临时表 VALUES( '@难度', @难度 ) ;
原文地址:https://www.cnblogs.com/livon/p/3142648.html