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

时间:2013-09-28 13:47:56

标签: 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%按字符串搜索空格?我想它应该匹配所有条目。或者还有另一种方式吗? 我无法在列上运行替换'',',代码必须保持现在的状态。

1 个答案:

答案 0 :(得分:3)

您可以使用替换功能

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