我有一个包含以下列的表格...
[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/