gpt4 book ai didi

mysql - 从表中选择行,其中列值是存储过程中传递的值的子集

转载 作者:搜寻专家 更新时间:2023-10-30 22:12:07 26 4
gpt4 key购买 nike

我有一个包含列和数据的表格,类似这样

+------+-------------------------+-------------+--------------+
| name | search_name | client_name | display_name |
+------+-------------------------+-------------+--------------+
| J&J | J&J | Johnson & Johnson | Janssen | J&J |
+------+-------------------------+-------------+--------------+

现在我想创建一个存储过程,它将传递一个字符串让我们说 "Johnson & Johnson company"或 "J&J company" 并且 storproc 应该将传递的字符串与所有列数据匹配,如果任何列值都是传递值的子集,因此 storproc 应该选择该行或行数(任何内容都可以)。

更准确地说,如果我在 storproc 中传递“J&J 公司”并且名称列包含“J&J”(它是传递值的子集),那么 storproc 应该返回以上行或行数(任何内容都可以)。

PS:这只是一个示例数据原始表包含超过 47000 行,所以我不能在 php 级别执行此操作。

我必须在 mysql 中执行与“LIKE”运算符相反的操作,在 LIKE 中,您传递字符串的一个子集并且表包含超集,但在我的情况下,我必须传递一个超集字符串,并且如果表列(任何一个)包含一个应返回该行的子集。

希望我已经足够详细地阐述了这个问题,任何帮助都将不胜感激。

最佳答案

我从 Gordon 的回答中提取了 concat,但我认为这就是您想要做的?

BEGIN
SELECT *
FROM tableName
WHERE @parameter LIKE concat('%', search_name, '%')
END

WHERE @parameter 是您传入的字符串,例如“J&J Company”,search_name 是您的列名。

关于mysql - 从表中选择行,其中列值是存储过程中传递的值的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24975414/

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