小编典典

SQL数据库中的搜索列,忽略特殊字符

sql

有人知道是否可以对SQL Server数据库中的列进行%LIKE%搜索,但可以忽略该列中的任何特殊字符吗?

因此,例如,如果我有一个名为“歌曲”的列,并且其中包含以下内容…


Black Or White

No Sleep ‘till Brooklyn

The Ship Song

Papa Don’t Preach


如果用户搜索“直到布鲁克林之前都不会偷偷摸摸”,那么即使他们忘记了撇号,我也希望它返回一个匹配项。如果他们搜索“
SOUL”,我也希望它返回第四行。我确定你知道这个主意。

任何帮助将不胜感激。


阅读 351

收藏
2021-03-23

共1个答案

小编典典

我会考虑使用全文索引,然后您可以使用FREETEXT和CONTAINS的功能来进行搜索。

编辑:我仍然会考虑完善全文索引搜索,但是,从另一个答案开始,这是一个使用REPLACE的选项。

SELECT
    Artist,
    Title
FROM
    Songs
WHERE
    REPLACE(REPLACE(REPLACE(Artist, '#',''), '*', ''), '"', '') LIKE '%Keywords%'
2021-03-23