gpt4 book ai didi

MySQL选择查询忽略特殊字符

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

以“公司”列为例:

+---------------+
|company |
+---------------+
|MyCompany, Inc.|
+---------------+

假设用户只是在搜索查询中输入“MyCompany Inc”而没有逗号和句点。

如何进行仍会返回“MyCompany, Inc.”的 MySQL Select 查询? ?

不仅是逗号和句点,所有特殊字符都必须忽略。

最佳答案

你必须创建 mysql 函数-

 CREATE FUNCTION `removeSpacialChar`(`in_str` varchar(4096)) RETURNS varchar(4096) CHARSET utf8 
BEGIN
DECLARE out_str VARCHAR(4096) DEFAULT '';
DECLARE c VARCHAR(4096) DEFAULT '';
DECLARE pointer INT DEFAULT 1;

IF ISNULL(in_str) THEN
RETURN NULL;
ELSE
WHILE pointer <= LENGTH(in_str) DO

SET c = MID(in_str, pointer, 1);

IF (ASCII(c) >= 48 AND ASCII(c) <= 57) OR (ASCII(c) >= 65 AND ASCII(c) <= 90) OR (ASCII(c) >= 97 AND ASCII(c) <= 122) THEN
SET out_str = CONCAT(out_str, c);
ELSE
SET out_str = CONCAT(out_str, '');
END IF;

SET pointer = pointer + 1;
END WHILE;
END IF;

RETURN out_str;
END

现在你运行下面的查询

SELECT removeSpacialChar('abc&*&*%^ %*^*%^,--&*&^^%^%^^&^%%^%$$#%@#$@$@!@$!123');

输出:-

abc123

关于MySQL选择查询忽略特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47130290/

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