sql-server - 如何在 MS SQL-Server 上查找具有特殊字符(如 'José')的名称

标签 sql-server sql sql-server-2008 special-characters

如果我搜索“Jose”,结果为 0。如果我搜索“Josè”,“Jôse”也不会给出任何结果。

select name from TblName where name = 'Jose' or name = 'Josè' or name = 'Jôse'

我知道用 ? 替换: 像“Jos”这样的名字在哪里?或者像 'J?se' 这样的名称 但这非常不方便,谁知道是否有特殊形式的 's'?

我想搜索“Jose”并获取它的所有变体以及所有单个字符上所有可能的特殊字符;怎么办?

最佳答案

查看 How do I perform an accent insensitive compare (e with è, é, ê and ë) in SQL Server?

By applying a specific collation order to your select:

SELECT * 
FROM Venue 
WHERE Name COLLATE SQL_Latin1_General_CP1_CI_AI Like '%cafe%' 

The CI stands for "Case Insensitive" and AI for "Accent Insensitive".

如果您是法国人,本文也可能有所帮助: Remplacer les accents dans une chaîne .

关于sql-server - 如何在 MS SQL-Server 上查找具有特殊字符(如 'José')的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5117663/

相关文章:

sql - 在 SQL Server GRANT 中转义反斜杠

sql-server - 如何将浮点列转换为日期时间?

sql-server - 在 Azure DevOps 中构建 SSIS 项目时出现 System.ArgumentException。在本地工作

sql - 查询以从按一个字段分组的动态表中获取最后插入的行

mysql - 如何生成一个查询,该查询考虑来自一个表的数据并相应地为mysql中的不匹配字段填充0

sql - 如何将更新的记录移动到历史表中?

sql-server - 如何将 XML 架构文档分配给具有 XML 数据类型的 SQL Server 表的列

sql - 在一列中显示所有表 SQL 的所有文本字段

sql - 如何在 SQL Server 中查找日期列的平均值

sql - 使用动态列构建 SQL 查询