mysql - 搜索字符串 mysql db 可以有空格,在另一个字符串中等

标签 mysql sql regex replace

我有这个包含产品代码的数据库

EXA 075 11112
0423654
3 574 662 123
JOLA 22354 5
LUCS 2245 785

我使用带有 %LIKE% 的查询来列出对用户输入的字符串进行数学运算的产品,例如“22”将列出

JOLA 22354 5
LUCS 2245 785

问题是用户不一定知道代码的格式,所以输入07511112,输出为零,因为“EXA 075 11112”没有被%LIKE%匹配。

有没有一种方法可以构造查询以在搜索发生之前从产品字段中删除所有空格,然后使用 %LIKE% 按字符串搜索也删除空格?我想它应该匹配所有条目。或者还有其他方法吗? 我无法在列上运行 replace ' ', '',代码必须保持原样。

最佳答案

你可以使用替换功能

select *
from mytable
where REPLACE( `productcode` , ' ' , '' ) like '%searchparam%'

关于mysql - 搜索字符串 mysql db 可以有空格,在另一个字符串中等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19067675/

相关文章:

java - Android使用php连接mysql,String查询报错

mysql - 糟糕的 MySQL 数据库设计?

MySQL更新bigint字段

mysql - 如何将具有多个值的 WHERE IN 子句转换为 RegExp 或 Like

regex - 在数组中使用正则表达式进行 Spring data mongo 查询

mysql - SQL 语法错误 : unknown column

php - PHP + MYSQL 的 JSON 错误

python re.sub组: number after\number

mysql - 适用于超大型查询的最快 MySQL 引擎

php - MySQL 更新 - 如果日期尚未过去则设置字段