比如说一个表中两条记录的 address 字段值分别为:aaaa 和 aAAa,如果用 
select * from mytable where address = 'aaaa'
则两条记录都查出来了,我希望只得到一条记录,这样的SQL应该怎么写?

解决方案 »

  1.   

    select * from mytable where address = 'aaaa' COLLATE Chinese_PRC_CI_AI_WSselect * from mytable where address = 'aAAa' COLLATE Chinese_PRC_CI_AI_WS
      

  2.   

    楼上有误,正确为:select * from mytable where address = 'aaaa' COLLATE Chinese_PRC_CS_ASselect * from mytable where address = 'aAAa' COLLATE Chinese_PRC_CS_AS
      

  3.   

    create  table tab(idd int,address varchar(20) COLLATE Chinese_PRC_CS_AS)
    insert tab values(1,'aaaa')
    insert tab values(2,'AAAA')
    insert tab values(3,'aaaa')
    insert tab values(4,'aAAa')
    insert tab values(5,'aAAA')select * from tab where address = 'aaaa' COLLATE Chinese_PRC_CS_ASselect * from tab where address = 'aAAa' COLLATE Chinese_PRC_CS_ASdrop table tab
    --不好意思,刚刚没测试
      

  4.   

    不知道 COLLATE Chinese_PRC_CS_AS 是不是 SQL 的标准,在其它的数据库中也可以用了,比如 access,mysql