select * from tb where COL = 'YY' COLLATE chinese_prc_bin
排序规则。CREATE TABLE TB(id int,val varchar(20) COLLATE CHINESE_PRC_CS_AS) INSERT TB VALUES(1,'YY') INSERT TB VALUES(2,'yy')SELECT * FROM TB WHERE val = 'YY' DROP TABLE TB;-------------------2SELECT * FROM TB WHERE data COLLATE CHINESE_PRC_CS_AS = 'YY'
select * from a where a_add collate Chinese_PRC_CS_AS_WS = 'YY'
比如说一个表中两条记录的address字段值分别为:aaaa 和 aAAa,如果用 select * from mytable where address = 'aaaa' 则两条记录都查出来了,我希望只得到一条记录,这样的SQL应该怎么写?create table #a( [id] [char] (10), [address] [char] (10) ) insert into #a(id , address) values('1' , 'aaaa') insert into #a(id , address) values('1' , 'aAAa')select * from #a where address = 'aaaa' COLLATE Chinese_PRC_CS_AS select * from #a where address = 'aAAa' COLLATE Chinese_PRC_CS_ASdrop table #aid address ---------- ---------- 1 aaaa (所影响的行数为 1 行)id address ---------- ---------- 1 aAAa (所影响的行数为 1 行)
INSERT TB VALUES(1,'YY')
INSERT TB VALUES(2,'yy')SELECT * FROM TB WHERE val = 'YY'
DROP TABLE TB;-------------------2SELECT * FROM TB WHERE data COLLATE CHINESE_PRC_CS_AS = 'YY'
from a
where a_add collate Chinese_PRC_CS_AS_WS = 'YY'
select * from mytable where address = 'aaaa'
则两条记录都查出来了,我希望只得到一条记录,这样的SQL应该怎么写?create table #a(
[id] [char] (10),
[address] [char] (10)
)
insert into #a(id , address) values('1' , 'aaaa')
insert into #a(id , address) values('1' , 'aAAa')select * from #a where address = 'aaaa' COLLATE Chinese_PRC_CS_AS
select * from #a where address = 'aAAa' COLLATE Chinese_PRC_CS_ASdrop table #aid address
---------- ----------
1 aaaa (所影响的行数为 1 行)id address
---------- ----------
1 aAAa (所影响的行数为 1 行)
就行了。ACCESS自身不区分。