表 user
-------------
name ...
-------------
WANG
KK
..
declare @n nvarchar(10)
set @n='wang'select name from user where name=@n这样也能返回结果。怎么在查询的时候就识别大小写?输入不对就不给显示?
-------------
name ...
-------------
WANG
KK
..
declare @n nvarchar(10)
set @n='wang'select name from user where name=@n这样也能返回结果。怎么在查询的时候就识别大小写?输入不对就不给显示?
解决方案 »
- 谁用过winsql 链接过数据库
- sql2000完全备份的数据库无法在SQL2005中进行还原??
- 在sql server2000中如果从一个数据库中误删了一个表,应如何恢复它
- 得到新插入数据的 ID
- 时间很紧,一定要看一眼,看了之后,如果知道,一定要给出解决方案额。
- 中英文共存的数据怎么来进行正常排序??
- SQL server 备份的数据库不能恢复了
- 我可以一次给我的数据库的所有表设置权限吗?
- 海量关系数据生成 是什么啊 ??????、怎么生成?????????
- 请问要SQL中怎么用BCP将来表中的数据转换成.txt文件?
- vb备份本地SQL,有时能连接有时不能连接
- 二台不一样的服务器,如何用存储过程把一个表的特定数据复制到另一台数据库(明天早上结贴)
CREATE DATABASE db COLLATE Chinese_PRC_CI_AS
GOALTER DATABASE db COLLATE Chinese_PRC_BIN
GO
/*====================================*/
--2. 为表中的列指定排序规则
CREATE TABLE tb(
col1 varchar(10),
col2 varchar(10) COLLATE Chinese_PRC_CI_AS)
GOALTER TABLE tb ADD col3 varchar(10) COLLATE Chinese_PRC_BIN
GOALTER 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
[email protected]
set @n='wang' select name from [user] where name=@n COLLATE Chinese_PRC_CS_AS
Chinese_PRC_CS_AS --其中 CS 代表是区分大小写 CI 代表不区分
insert into tt select 'aa'select * from tt
where name='AA'------
name
AA
--
修改collate的值,默认的为:collate Chinese_PRC_CI_AS,不区别大小,
将它修改为 collate Chinese_PRC_Cs_AS 就可以区别大小了
alter table user alter name varchar(20) collate Chinese_PRC_Cs_AS
alter column [name] nvarchar(10) COLLATE Chinese_PRC_CS_AS