1. 程式人生 > >SQL查詢區分大小寫方法

SQL查詢區分大小寫方法



一、例項介紹

SQL語句大小寫到底是否區分呢?我們先從下面的這個例子來看一下:

例:

--> 建立表,插入資料:
declare @maco table (number int,myvalue varchar(2))
insert into @maco select 1,'aa' union all
select 2,'Aa' union all
select 3,'aA' union all
select 4,'AA'
--不區分大小寫
select * from @maco WHERE nn='aa'
--區分大小寫
select  * from @maco WHERE nn='aa' collate Chinese_PRC_CS_AI

從上面的例子我們可以看到第一句不區分,而第二句區分。可是每個語句不能都加上個collateChinese_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:/ProgramFiles/MicrosoftSQL Server/80/Tools/Binn/rebuildm.exe

若要修改排序規則,按照上面的引數設定即可。

若只修改一個表,用ALTERTABLE語句

若修改一個庫的預設排序規則,用ALTERDATABASE語句

若修改整個伺服器的預設排序規則,用Rebuildm.exe重建master