区分 ß 和 ss 的 SQL 查询

Posted

技术标签:

【中文标题】区分 ß 和 ss 的 SQL 查询【英文标题】:SQL query that distinguishes between ß and ss 【发布时间】:2010-10-20 20:11:39 【问题描述】:

SQL 中似乎是ß=ss。我需要能够在严格的等效字符基础上进行区分。

SELECT * from table WHERE name LIKE '%ß%'

产量

Brian Bruß Steven Sossmix

等等。

我查看了不同的排序规则,看看是否有一个忽略字符扩展,但到目前为止还没有运气。

数据库默认使用Latin1_General_CI_AS - 我也尝试过Latin1_General_CS_ASLatin1_General_CS_AS_WS,但都不起作用。

任何帮助将不胜感激。

【问题讨论】:

您使用的是哪个数据库服务器? SQL Server、Oracle、mysql 还是...? 本地化设置是什么 - 默认情况下哪些代码集和排序规则有效。 当我在 ss 前加上 N 时,我会得到你的结果。 -> N'ss' 否则它会按预期工作(对我来说)。 @jms-it 处理cultureInfo 设置的内容 伟大的边缘案例,感谢发布。 :) 【参考方案1】:

找到了一个thread,它有两个解决方案。

【讨论】:

一个答案来自 Jon Skeet,所以也许他可以介入并详细说明【参考方案2】:

您需要使用二进制排序规则,以便区分大小写、区分重音等。

整理:SQL_Latin1_General_Cp437_BIN

【讨论】:

以上是关于区分 ß 和 ss 的 SQL 查询的主要内容,如果未能解决你的问题,请参考以下文章

sql语法有没有区分大小写?

Oracle查询语句区分大小写吗?

mysql模糊查询区分大小写的问题~~

在 BigQuery 中使用 dryRun 区分标准和旧版 SQL 查询的替代方法?

sql语句查询字母字段时不区分大小写

mysql模糊查询区分大小写