【问题标题】:Search string mysql db that can have spaces, be in another string, etc搜索可以有空格、在另一个字符串中等的字符串 mysql db
【发布时间】:2013-10-04 17:59:10
【问题描述】:

我有这个数据库,其中包含类似的产品代码

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 ' ', '',代码必须保持原样。

【问题讨论】:

  • 我会添加一个不带空格的列,仅用于搜索功能。
  • @w0lf 所说的。并且可能会查看 FULLTEXT 来处理此类搜索

标签: mysql sql regex replace


【解决方案1】:

你可以使用替换功能

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多