sql distinct和condtion无法区分大写和小写数据

时间:2016-02-12 10:50:46

标签: mysql sql

假设我的Table A包含字段名brand,现在此品牌字段有两行数据

Column `brand`
row1-> "zazikhan's"
row2-> "ZAZIKHAN'S"

现在,当我正常运行select查询时,它会返回两行,例如

SELECT 
    brand
FROM
    `TableA` 
    WHERE brand="ZAZIKHAN'S"

但是我只期待一条row2->"ZAZIKHAN'S"的记录,但它将两行都归还给我。

同样的情况是不同的和按功能排序。 例如

SELECT 
        distinct(brand)
    FROM
        `TableA` 
        WHERE brand="ZAZIKHAN'S"

现在这个查询只给我一条记录,row1->zazikhan's奇怪,我期待结果中的两行都是根据情况改变

1 个答案:

答案 0 :(得分:2)

尝试使用a case sensitive collation转换您的字段,例如latin1_general_cs

SELECT DISTINCT CONVERT(brand USING latin1) COLLATE latin1_general_cs
FROM mytable

Demo here