首页 > 解决方案 > 如何在 SQL 查询中使用基于布尔数据类型的 LIKE 运算符?

问题描述

我正在尝试使用 Like 运算符将字符串值与布尔值匹配,如下所示:

String param = 'True';
sqlQuery = 'SELECT CompanyName FROM User WHERE OR IsActive LIKE :param';

由于它不工作并且不从表中获取任何数据,我也尝试了这个查询:

 String param= Active;
 Boolean activeCheck=true ;

    if(param=='Active'){
        activeCheck=true;
    }
    else if(param=='Down'){
        activeCheck=false;
    }
  sqlQuery = sqlQuery = 'SELECT CompanyName FROM User WHERE IsActive LIKE :activeCheck';

仍然没有运气。

标签: sql

解决方案


可能通过使用一些子查询来修改您的查询可能确实有效。

如果这对您来说很好,您可以遵循以下方法。它对我有用。

SELECT COMPANYNAME FROM 
(
SELECT COMPANYNAME, 
CASE WHEN ISACTIVE=1 THEN 'TRUE' ELSE 'FALSE' 
END AS ACTIVECHECK
FROM
Users) B
WHERE B.ACTIVECHECK LIKE:param

推荐阅读