【发布时间】:2019-08-03 18:43:19
【问题描述】:
我有一张表格,上面有各种语言的城市名称。这些名称通常包含诸如é、ü 等字符。我正在构建一个搜索功能,以便用户可以搜索名称,但我希望这忽略所有特殊字符,并将它们视为来自改为英文的 26 个字母。
例如,对名称 munchen 的查询应与值 München 匹配。该查询将比较的双方转换为不区分大小写的 26 个字母,然后 然后 执行比较。
有没有直接的方法来实现这一点?
【问题讨论】:
-
您使用的是 Sybase 还是 SQL Server?什么版本?
-
对不起,@ZoharPeled。我使用 SQL Server 2014..
-
Unicode 中没有特殊字符。尤其不是普通的拉丁字符。你真正想做什么?将所有内容都转换为英语是为了解决这个问题,但除了一些非常有限的情况外,它不会起作用。
-
@PanagiotisKanavos 正确,我什至没有想到......
-
例如,如果您使用不区分重音的排序规则,则 Munchen 可以匹配 München。 SQL Server 的全文搜索功能已经可以处理此类匹配,无论排序规则如何。任何与此相关的搜索引擎都可以处理此问题
标签: tsql sql-server-2014 string-comparison character-set