首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为LIKE运算符传递变量以容纳一个值和空值

如何为LIKE运算符传递变量以容纳一个值和空值
EN

Stack Overflow用户
提问于 2020-06-21 22:16:42
回答 1查看 24关注 0票数 0

我有一些麻烦与过滤我的网站上的数据库信息。我有两个表,一个是设备数据库equipment_database,另一个是链接到特定设备qr_links的二维码。因此,我使用一个搜索函数通过一个LIKE运算符来过滤数据。在所有条目都被选中的情况下,我将使用%%,而当搜索特定部分时,我将使用%search_pattern%。问题是,并不是所有的设备都有匹配的二维码。因此,在使用LIKE运算符时,它不返回具有空值的行,而只返回具有链接的二维码的条目。搜索二维码是可选的,需要返回所有包含或不包含二维码的条目。以下是MySQL查询的示例:

代码语言:javascript
运行
复制
SELECT equipment_database.equipment_id, equipment_database.equipment_type, equipment_database.equipment_name, qr_links.qr_linked_with_id, qr_links.qr_link_code
        FROM equipment_database 
        LEFT JOIN qr_links 
        ON equipment_database.equipment_id=qr_links.qr_linked_with_id 
        WHERE equipment_database.equipment_institute_id=? 
        AND equipment_database.equipment_institute_branch_id=? 
        AND equipment_database.equipment_status=? 
        AND CONCAT (equipment_database.equipment_name, equipment_database.equipment_type, qr_links.qr_link_code) 
        LIKE ? 
        ORDER BY equipment_database.equipment_name 
        LIMIT ?, ?;

有没有办法在使用LIKE运算符时包含来自qr_links的空值(这样%%就会返回所有值加上那些带有空值的值)。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-21 22:31:57

尝试更改您的查询,如下所示。使用MySQL IFNULL(column,"value to return if null")函数,我们可以返回一个空字符串而不是NULL。

代码语言:javascript
运行
复制
SELECT equipment_database.equipment_id, equipment_database.equipment_type, equipment_database.equipment_name, qr_links.qr_linked_with_id, qr_links.qr_link_code
    FROM equipment_database 
    LEFT JOIN qr_links 
    ON equipment_database.equipment_id=qr_links.qr_linked_with_id 
    WHERE equipment_database.equipment_institute_id=? 
    AND equipment_database.equipment_institute_branch_id=? 
    AND equipment_database.equipment_status=? 
    AND CONCAT (equipment_database.equipment_name, equipment_database.equipment_type, IFNULL(qr_links.qr_link_code, "")) 
    LIKE ? 
    ORDER BY equipment_database.equipment_name 
    LIMIT ?, ?;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62499785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档