我有专栏store_name
(varchar
)。在该列中,我有prime sport
,best buy
等条目,其中包含空格。但是当用户键入像primesport
这样没有空格的连接字符串时,我需要显示结果prime sport
。我该怎么做到这一点?请帮帮我
答案 0 :(得分:3)
SELECT *
FROM TABLE
WHERE replace(store_name, ' ', '') LIKE '%'+@SEARCH+'%' OR STORE_NAME LIKE '%'+@SEARCH +'%'
答案 1 :(得分:1)
您是否尝试过使用replace()
您可以替换查询中的空白区域,然后使用like
SELECT * FROM table WHERE replace(store_name, ' ', '') LIKE '%primesport%'
它适用于像'primesoft'查询'prime soft'等条目
或者你可以使用正则表达式。
答案 2 :(得分:1)
嗯,我没有太多想法,甚至我都在寻找它。但可能是我所知道的,你可以通过执行不同类型的字符串操作来实现这一点:
Mike can be Myke or Myce or Mikke or so on.
Cat an be Kat or katt or catt or so on.
为此,您应该编写一个函数来生成许多可能的字符串,然后使用所有这些字符串形成SQL查询,并查询数据库。
类似的搜索,称为Soundex Search from Oracle
和Soundex Search from Microsoft
。看看吧。这可能有用。