SQL SERVER 2000/2005中默认不区分大小写
2009-01-16 13:12
190 查看
转载自:http://hi.baidu.com/qiansoft/blog/item/352a0e0195cfd0097aec2cdf.html
/*SQL SERVER 2000/2005中默认不区分大小写,可以通过collate Chinese_PRC_CS_AS来要求区分大小写,可以通过collate Chinese_PRC_CI_AS恢复默认的不区分大小写*/
--建立测试数据库
create database test
--collate Chinese_PRC_CS_AS用于alter database中,改变不区分大小写的默认设置
alter database test collate Chinese_PRC_CS_AS
--选择测试数据库
use test
--若t表存在则删除
if object_id('t') is not null drop table t
--建测试表
create table t(a int identity(1,1) primary key,b varchar(10))
--插入测试数据
insert into t values('abc')
insert into t values('ABC')
--下面语句将只得到b列为小写abc的结果
select * from t where b='abc'
--collate Chinese_PRC_CI_AS用于alter table中,不要求区分大小写
alter table t alter column b varchar(10) collate Chinese_PRC_CI_AS
--由于上面alter table语句,下面将得到b列为大小写abc的结果
select * from t where b='abc'
----collate Chinese_PRC_CS_AS用于select中,要求区分大小写,下面语句将只得到b列为小写abc的结果
select * from t where b collate Chinese_PRC_Cs_AS ='abc'
--collate Chinese_PRC_CS_AS用于建表中,可对列是否包含英文字母进行检查约束
create table tt
(
a int identity(1,1) primary key,
b varchar(10) collate Chinese_PRC_CS_AS check (upper(b)<>lower(b)),
c varchar(10) collate Chinese_PRC_CS_AS check (upper(c)=lower(c))
)
--测试
insert into tt values('a12','123')--成功
insert into tt values('123','123')--违反约束,b列要有英文字母
insert into tt values('Abc','a123')--违反约束,c列不能有英文字母
/*SQL SERVER 2000/2005中默认不区分大小写,可以通过collate Chinese_PRC_CS_AS来要求区分大小写,可以通过collate Chinese_PRC_CI_AS恢复默认的不区分大小写*/
--建立测试数据库
create database test
--collate Chinese_PRC_CS_AS用于alter database中,改变不区分大小写的默认设置
alter database test collate Chinese_PRC_CS_AS
--选择测试数据库
use test
--若t表存在则删除
if object_id('t') is not null drop table t
--建测试表
create table t(a int identity(1,1) primary key,b varchar(10))
--插入测试数据
insert into t values('abc')
insert into t values('ABC')
--下面语句将只得到b列为小写abc的结果
select * from t where b='abc'
--collate Chinese_PRC_CI_AS用于alter table中,不要求区分大小写
alter table t alter column b varchar(10) collate Chinese_PRC_CI_AS
--由于上面alter table语句,下面将得到b列为大小写abc的结果
select * from t where b='abc'
----collate Chinese_PRC_CS_AS用于select中,要求区分大小写,下面语句将只得到b列为小写abc的结果
select * from t where b collate Chinese_PRC_Cs_AS ='abc'
--collate Chinese_PRC_CS_AS用于建表中,可对列是否包含英文字母进行检查约束
create table tt
(
a int identity(1,1) primary key,
b varchar(10) collate Chinese_PRC_CS_AS check (upper(b)<>lower(b)),
c varchar(10) collate Chinese_PRC_CS_AS check (upper(c)=lower(c))
)
--测试
insert into tt values('a12','123')--成功
insert into tt values('123','123')--违反约束,b列要有英文字母
insert into tt values('Abc','a123')--违反约束,c列不能有英文字母
相关文章推荐
- 改变SQL SERVER默认不区分大小写的设置
- 在Sql Server 2000中区分大小写
- 关于改变sql server 2000支持大小写区分
- SQL Server 2000与SQL Server 2005修改默认1433端口
- Sql Server 2005及2000 默认端口修改方法
- 修改SQL 2005数据库默认不区分大小写
- 无法打开用户默认数据库的解决方法(SQL Server 2000和SQL Server 2005)
- Java/JSP中使用JDBC连接SQL Server 2000/2005
- 在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败
- sql server 2005 数据库 导入 2000时 遇到的问题
- SQL Server 2005数据库转到SQL Server 2000的步骤
- Sql server 2000导入 Sql server 2005的数据
- SQL server 2000 和 2005有什么区别
- 修改SQL server 2005默认端口
- Sql server 2000数据库备份文件还原到sql server 2005
- 数据库从Sql server 2000升级到2005后,遇到一点问题。
- sql server 2000/2005 游标的使用操作
- SQL Server 2005与sql 2000之间的数据转换方法
- sql server 2000/2005 script