mysql - SQL BINARY 运算符未显示完全匹配

标签 mysql

我有一个包含以下列的表格...

[Name] = [Transliteration] = [Hexadecimal] = [HexadecimalUTF8]

...具有多行UTF-8字符,例如:

ङ = ṅa = 0919 = e0a499
ञ = ña = 091e = e0a49e
ण = ṇa = 0923 = e0a4a3
न = na = 0928 = e0a4a8

为了在 音译 列中搜索与 ña 完全匹配的行,我输入以下命令:

SELECT DISTINCT * FROM Samskrta 
WHERE BINARY (Transliteration = concat(0xc3b161)) 
ORDER BY HexadecimalUTF8;

...产生 4 行。

为什么 SQL 命令不只生成与 ña 完全匹配的行?

什么 SQL 命令只生成与 ña 完全匹配的行?

以下命令产生相同的结果:

SELECT DISTINCT * FROM Samskrta 
WHERE BINARY (Transliteration = 'ña') 
ORDER BY HexadecimalUTF8;

最佳答案

首先,您的查询无法按指示工作:您正在将 BINARY() 应用于逻辑比较的结果,而不是将 BINARY() 与任何内容进行比较。

如果您希望人们能够提供帮助,请尝试精确地复制您的代码。

关于mysql - SQL BINARY 运算符未显示完全匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38977314/

相关文章:

php - PHP 中的数据标准?

mysql - MySQL在mpdf中每行创建一个新的页面宽度

php - 这是什么错误? "Database query failed: Data truncated for column ' column_name' 在第 1 行

MySQL自连接以获得过去的平均值

mysql - SQL查询分组后仍然有重复项

php - group_concat MYSQL换行

MySQL如何将两个JOINed表的列求和成一个新列?

带参数的 MySQL LIMIT

MySQL:内存不足/MariaDB

mysql - 基础数据库设计场景