首页 > 代码库 > SQL语句大小写是否区分的问题
SQL语句大小写是否区分的问题
一、实例介绍
SQL语句大小写到底是否区分呢?我们先从下面的这个例子来看一下:
例:
--> 创建表,插入数据:
declare @maco table (number int,myvalue varchar(2))insert into @maco select 1,‘aa‘ union allselect 2,‘Aa‘ union allselect 3,‘aA‘ union allselect 4,‘AA‘--不区分大小写select * from @maco WHERE nn=‘aa‘--区分大小写select * from @maco WHERE nn=‘aa‘ collate Chinese_PRC_CS_AI
注:我用的是Sql Server 2005。
从上面的例子我们可以看到第一句不区分,而第二句区分。可是每个语句不能都加上个collate Chinese_PRC_CS_AI吧?
我们可以这样,看下面的例子:
例:
--不区分大小写ALTER TABLE My_table ALTER Column colname nvarchar(100) collate Chinese_PRC_CI_AS --区分大小写 ALTER TABLE My_table ALTER Column colname nvarchar(100) collate Chinese_PRC_CS_AS
从上面的例子我们可以看到第一句不区分,而第二句区分。可是我们不能每个表都进行一下修改吧?
我们可以再这样,看下面的例子:
例:
--不区分大小写 ALTER DATABASE databasename collate Chinese_PRC_CI_AS --区分大小写 ALTER DATABASE databasename collate Chinese_PRC_CS_AS
二、参数介绍
Chinese_PRC_指针对大陆简体字UNICODE的排序规则。
排序规则的后半部份(即后缀)含义:
_BIN 二进制排序_CI(CS) 是否区分大小写:CI不区分,CS区分
_AI(AS) 是否区分重音:AI不区分,AS区分
_KI(KS) 是否区分假名类型:KI不区分,KS区分
_WI(WS) 是否区分宽度:WI不区分,WS区分
三、整体介绍
在安装SQL时,我们可以选择区分大小写或安装完以后重建mastar,再选择区分大小
下面是rebuildm.exe 的路径:
C:/Program Files/Microsoft SQL Server/80/Tools/Binn/rebuildm.exe
若要修改排序规则,按照上面的参数设置即可。
若只修改一个表,用ALTER TABLE语句
若修改一个库的默认排序规则,用ALTER DATABASE语句
若修改整个服务器的默认排序规则,用Rebuildm.exe重建master库
SQL语句大小写是否区分的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。