0

如何在 SQL Server 中进行空格不敏感搜索?

例如,这些城市名称应该被认为是相等的:

San Remo
Sanremo

我知道如何进行简单的不区分大小写和不区分重音的搜索,但我没有发现任何不区分空格的搜索。

我可以使用排序规则或漂亮的功能吗?或者我应该在我的代码中预处理城市名称?

4

2 回答 2

2

创建一个新的计算 PERSISTED 列。这将允许创建索引。即使没有索引,这也比直接在列上替换要好得多:

ALTER TABLE dbo.YourTable 
ADD ComputedCol AS REPLACE(YourColumn, ' ', '') PERSISTED 
于 2015-10-30T08:19:32.550 回答
0

你可以搜索

REPLACE (column_name, ' ', '') like '%yourCriteria%

而不仅仅是

column_name like '%yourCriteria%

我建议不要这样做,因为文本搜索更消耗资源。更好的选择是添加一个包含替换文本的新列,将其编入索引并在其上进行搜索。

于 2015-10-30T08:14:06.383 回答