sql - 如何在 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';
仍然没有运气。
解决方案
可能通过使用一些子查询来修改您的查询可能确实有效。
如果这对您来说很好,您可以遵循以下方法。它对我有用。
SELECT COMPANYNAME FROM
(
SELECT COMPANYNAME,
CASE WHEN ISACTIVE=1 THEN 'TRUE' ELSE 'FALSE'
END AS ACTIVECHECK
FROM
Users) B
WHERE B.ACTIVECHECK LIKE:param
推荐阅读
- reactjs - 如何连接要在 REACT 中的状态中使用的值
- python - 如何在 Pytorch 中使用 torchvision.transforms 对分割任务进行数据增强?
- elasticsearch - Elasticsearch 查询在 logstsah 中失败:期望用冒号分隔字段名称和值
- python - 在 postgreSQL 中定义的模式上的 PonyORM 多对多关系
- python - 使用 QThread 正确显示线程 ID
- php - 未使用 iFrame 保存 Laravel 会话
- javascript - Material UI - 奇怪的 KeyboardDateTimePicker 交互
- git - 如何重新设置 git 超级项目更改子模块的哈希值?
- r - 使用 R 进行条件过滤
- html - 金立手机的图像不支持边框半径,当我将边框半径赋予图像时,图像会隐藏