gpt4 book ai didi

使用 CONCAT LIKE AND 进行 SQL 查询

转载 作者:行者123 更新时间:2023-12-02 13:14:44 26 4
gpt4 key购买 nike

我有一个这样的查询:

SELECT * FROM `tbl_shop` 
WHERE
(LOWER (CONCAT(address, name)) LIKE (LOWER ('%boston%')) AND
LOWER (CONCAT(address, name)) LIKE (LOWER('%smoke%')));

我的问题很简单 - 有什么方法可以编写此代码而不需要重复 CONCAT(address, name) 部分?

我试过了

SELECT * FROM `tbl_shop`
WHERE
(LOWER (CONCAT(address, name)) LIKE (LOWER ('%boston%')) AND (LOWER('%smoke%')));

但这并没有给出任何结果。我只需要包含这两个词的所有结果。我无法使用全文,因为我正在使用 inno db 并且想保留它。

提前致谢。

最佳答案

你可以做到

SELECT b.* FROM
(
SELECT a.*, LOWER(CONCAT(a.address, a.name)) AS field_to_check
)b
WHERE b.field_to_check LIKE (LOWER ('%boston%'))
AND b.field_to_check LIKE (LOWER('%smoke%'));

不过,这只是语法糖,不应该造成性能差异。

关于使用 CONCAT LIKE AND 进行 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16020827/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com