SQL查詢區分大小寫方法
阿新 • • 發佈:2019-01-30
KS區分
一、例項介紹
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不區分,
_WI(WS)是否區分寬度:WI不區分,WS區分
三、整體介紹
在安裝SQL時,我們可以選擇區分大小寫或安裝完以後重建mastar,再選擇區分大小
下面是rebuildm.exe的路徑:
C:/ProgramFiles/MicrosoftSQL Server/80/Tools/Binn/rebuildm.exe
若要修改排序規則,按照上面的引數設定即可。
若只修改一個表,用ALTERTABLE語句
若修改一個庫的預設排序規則,用ALTERDATABASE語句
若修改整個伺服器的預設排序規則,用Rebuildm.exe重建master庫