假设我有表A
,其中包含字段名称brand
,现在这个品牌字段有两行数据
Column `brand`
row1-> "zazikhan's"
row2-> "ZAZIKHAN'S"
现在,当我正常运行选择查询时,它会返回两行,例如
SELECT
brand
FROM
`TableA`
WHERE brand="ZAZIKHAN'S"
但是我只期望一条记录,即 row2->"ZAZIKHAN'S"
但它返回了我两行。
Distinct 和 order by 函数的情况也是如此。 例如
SELECT
distinct(brand)
FROM
`TableA`
WHERE brand="ZAZIKHAN'S"
现在这个查询只返回一条记录,其中row1->zazikhan's
,这很奇怪,我期待结果中的两行,因为两者都会根据情况发生变化
最佳答案
尝试使用 a case sensitive collation 转换您的字段就像latin1_general_cs
:
SELECT DISTINCT CONVERT(brand USING latin1) COLLATE latin1_general_cs
FROM mytable
关于mysql - sql unique和where条件无法区分大小写数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35360693/