一,设置列属性方式
--区分大小写
create table tbl
(
f1 varchar(10) collate chinese_prc_cs_as --区分大小写
)
--不区分大小写
create table tbl
(
f1 varchar(10) collate chinese_prc_ci_as --不区分大小写
)
insert into tbl values(\'abc\');
insert into tbl values(\'Abc\');
insert into tbl values(\'ABC\');
select * from tbl where f1 = \'abc\'
如果采用不区分大小写的字段属性,则结果是
abc
Abc
ABC
如果采用区分大小写的字段属性,则结果是
abc
二,直接针对db的
--区分大小写
alter database dbname collate chinese_prc_cs_as
--不区分大小写
alter database dbname collate chinese_prc_ci_as
三,查询时来转换
select * from tbl where convert(varbinary, f)=convert(varbinary, N\'ABC\')
四,数据库安装设置时就处理
这样数据库名,用户,表名,字段等都区分了
五,自己写函数来处理
不过这样效率较差,因为一般方法是逐个字符按照ascii编码比较
--区分大小写
create table tbl
(
f1 varchar(10) collate chinese_prc_cs_as --区分大小写
)
--不区分大小写
create table tbl
(
f1 varchar(10) collate chinese_prc_ci_as --不区分大小写
)
insert into tbl values(\'abc\');
insert into tbl values(\'Abc\');
insert into tbl values(\'ABC\');
select * from tbl where f1 = \'abc\'
如果采用不区分大小写的字段属性,则结果是
abc
Abc
ABC
如果采用区分大小写的字段属性,则结果是
abc
二,直接针对db的
--区分大小写
alter database dbname collate chinese_prc_cs_as
--不区分大小写
alter database dbname collate chinese_prc_ci_as
三,查询时来转换
select * from tbl where convert(varbinary, f)=convert(varbinary, N\'ABC\')
四,数据库安装设置时就处理
这样数据库名,用户,表名,字段等都区分了
五,自己写函数来处理
不过这样效率较差,因为一般方法是逐个字符按照ascii编码比较