34,575
社区成员
发帖
与我相关
我的任务
分享
alter table [user]
alter column [name] nvarchar(10) COLLATE Chinese_PRC_CS_AS
create table tt(Name varchar(10) collate Chinese_PRC_Cs_AS)
insert into tt select 'AA'
insert into tt select 'aa'
select * from tt
where name='AA'
------
name
AA
declare @n nvarchar(10)
set @n='wang'
select name from [user] where name=@n COLLATE Chinese_PRC_CS_AS
Chinese_PRC_CS_AS
--其中 CS 代表是区分大小写 CI 代表不区分
--1. 为数据库指定排序规则
CREATE DATABASE db COLLATE Chinese_PRC_CI_AS
GO
ALTER DATABASE db COLLATE Chinese_PRC_BIN
GO
/*====================================*/
--2. 为表中的列指定排序规则
CREATE TABLE tb(
col1 varchar(10),
col2 varchar(10) COLLATE Chinese_PRC_CI_AS)
GO
ALTER TABLE tb ADD col3 varchar(10) COLLATE Chinese_PRC_BIN
GO
ALTER TABLE tb ALTER COLUMN col2 varchar(10) COLLATE Chinese_PRC_BIN
GO
/*====================================*/
--3. 为字符变量和参数应用排序规则
DECLARE @a varchar(10),@b varchar(10)
SELECT @a='a',@b='A'
--使用排序规则 Chinese_PRC_CI_AS
SELECT CASE WHEN @a COLLATE Chinese_PRC_CI_AS = @b THEN '@a=@b' ELSE '@a<>@b' END
--结果:@a=@b
--使用排序规则 Chinese_PRC_BIN
SELECT CASE WHEN @a COLLATE Chinese_PRC_BIN = @b THEN '@a=@b' ELSE '@a<>@b' END
--结果:@a<>@b