为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:
【CPU】:
【问题描述】*:
异常sql
SELECT
SUM(CASE WHEN cpu_num=0 THEN 0 when(loadavg/cpu_num)<=1 THEN 1 ELSE 0 END) AS load_low
,SUM(CASE WHEN cpu_num=0 THEN 0 when (loadavg/cpu_num)>1 THEN 1 ELSE 0 END) AS load_high
FROM agent_monitor_db.agent_monitor
报除0异常。
单独剩下 load_low 或者 load_high 都不报错
测试了下,cpu_num内容有零会报错,除数不能为零。
新版 CASE_WHEN_CVT_IFUN 参数默认9
可以全局修改参数sp_set_para_value(_1, 'CASE_WHEN_CVT_IFUN ', 2);
已解决
SELECT
SUM(CASE WHEN cpu_num > 0 and (loadavg/cpu_num)<=1 THEN 1 ELSE 0 END) AS load_low
,SUM(CASE WHEN cpu_num > 0 and (loadavg/cpu_num)>1 THEN 1 ELSE 0 END) AS load_high
FROM agent_monitor_db.agent_monitor。
但是 还是不明白为啥上面的语句会报错