am[op]st (I c-6ren">
gpt4 book ai didi

Mysql select查询无法搜索符号字符串

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

例如,如果我想在下面搜索。

> lav'ro (I can't search it by "lav'r" because of ' in the string)     
> am[op]st (I can't search it by "am[o" because of [ in the string)

我的问题是如何使用选择查询来帮助我带来输出?

下面是我的 SELECT 查询。

SELECT * FROM TableName 
WHERE (Col1 LIKE '%$value%' OR Col2 LIKE '%$value%')
ORDER BY
CASE WHEN (Col1 LIKE '$value' AND Col2 LIKE '$value') THEN 1
WHEN Col1 LIKE '$value' THEN 2
WHEN Col2 LIKE '$value' THEN 3
WHEN Col1 LIKE '$value%' THEN 4
WHEN Col2 LIKE '$value%' THEN 5
WHEN Col1 LIKE '%$value' THEN 6
WHEN Col2 LIKE '%$value' THEN 7
WHEN Col1 LIKE '%$value%' THEN 8
WHEN Col2 LIKE '%$value%' THEN 9
ELSE 10
END asc,
length(Col1 or Col2) limit 15

这里“$value”用于搜索的动态词。

在普通搜索中运行良好,但在符号搜索中出现问题。

最佳答案

您必须在单引号之前包含\才能使其正常工作

SELECT * FROM `table` WHERE `column` LIKE 'lav\'ro'

对于第二个问题,尝试在之前或之后或两者都附加 %

SELECT * FROM `table` WHERE `column` LIKE '%am[o%'

关于Mysql select查询无法搜索符号字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56089587/

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