首页 > 解决方案 > SQL 中的 CASE 语句引发解析问题

问题描述

当我运行下面的 SQL 时,它说解析查询时出错。我尽力找出错误但没有运气。任何帮助,将不胜感激。

SELECT *, $field, 
    CASE
    WHEN SEVERITY_LABEL = 'LOW' THEN  '1'
    WHEN SEVERITY_LABEL = 'MEDIUM' THEN  '2'
    WHEN SEVERITY_LABEL = 'HIGH' THEN '3'
    ELSE 'Not Sev' END AS 'SEVERITY'
FROM table_name
WHERE ("class"=~/^$class$/) AND $Filter

错误:

InfluxDB 错误:解析查询时出错:在第 3 行,字符 5 处找到了 WHEN,预期 FROM

谢谢

标签: sqlinfluxdbinfluxdb-python

解决方案


您需要为"SEVERITY" 标识符添加双引号。(单引号用于(字符串)文字


SELECT *, $field, 
    CASE
    WHEN SEVERITY_LABEL = 'LOW' THEN  '1'
    WHEN SEVERITY_LABEL = 'MEDIUM' THEN  '2'
    WHEN SEVERITY_LABEL = 'HIGH' THEN '3'
    ELSE 'Not Sev' END AS "SEVERITY"
FROM table_name
WHERE ("class"=~/^$class$/) AND $Filter
    ;

推荐阅读