首页 > 解决方案 > SQL 在 IF 条件后给出语法错误

问题描述

有人可以指导我在这个查询中哪里出错了。

SELECT ID, 
   IF REFERENCE_ID like '%[0-9]%' 
        THEN 
           REFERENCE_ID 
        ELSE
           ''
   END
FROM TABLE

实际上,我有一个表,其中 reference_id 列有时有数值,有时只有“ - - ”或“ _- ”,因此我想在这些情况下显示空白。

标签: mysqlsql

解决方案


您需要一个 CASE 语句来实现:

SELECT ID,
        CASE
            WHEN REFERENCE_ID like '%[0-9]%' THEN REFERENCE_ID 
        ELSE ''          
   END AS ReferenceId
FROM TABLE

推荐阅读