gpt4 book ai didi

mysql - 使用 LIKE 子句搜索多列值

转载 作者:行者123 更新时间:2023-11-29 18:03:47 25 4
gpt4 key购买 nike

假设我有一个列 (id, col1, col2, col3) 和一个值为 hello world 的条件。现在我可以用这个简单的查询来做到这一点:

SELECT 
*
FROM my_table
WHERE
col1 LIKE 'hello world%' OR
col2 LIKE 'hello world%' OR
col3 LIKE 'hello world%'
ORDER BY id ASC;

有没有什么优雅的方法来实现相同的查询,因为如果某个表有很多字段,那么编写很多字段会很麻烦。

在 SO 上的某个地方找到了这个查询:

SELECT * FROM my_table WHERE 'hello world' IN(col1, col2, col3);

但是我不知道如何使用 LIKE 子句来做到这一点。谢谢!

最佳答案

LIKE 没有 IN 类型的关键字

但是你可以这样做看起来更干净。

CREATE TEMPORARY TABLE patterns (
pattern VARCHAR(20)
);

INSERT INTO patterns VALUES ('hello%'), ('hello%'), ('hello%');

SELECT t.* FROM my_table t JOIN patterns p ON (t.col LIKE p.pattern);

关于mysql - 使用 LIKE 子句搜索多列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48088541/

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