我們都知道,在平時數據庫開發中是不區分大小寫的,但那只是我們平時在創建數據庫表時的默認設置,或者是查詢時的缺省查詢默認的是不區分大小寫的,下面就讓我們來看一下如何創建大小寫敏感的數據庫表格,或者是在查詢時進行區分大小寫的查詢。
ALTER TABLE 表名 ALTER COLUMN colunnname nvarchar(100) COLLATE Chinese_PRC_CI_AS --不區分大小寫 ALTER TABLE tb ALTER COLUMN colunnname nvarchar(100) COLLATE Chinese_PRC_CS_AS
--區分大小寫
讓我們來看一下修改表格的代碼,其中 Chinese_PRC_CI_AS 和COLLATE Chinese_PRC_CS_AS 分別是不區分大小寫和區分大小寫存儲規則,其中 Chinese_PRC兩個參數代表大陸簡體字UNICODE的排序規則,第三個參數代表了大小寫規則,第四個參數代表了重音規則。其含義分別為:
_CI(CS) 是否區分大小寫,CI不區分,CS區分
_AI(AS) 是否區分重音,AI不區分,AS區分
另外后面還可以添加兩個參數分別表示是否區分假名和是否區分寬度,其代碼為:
_KI(KS) 是否區分假名類型,KI不區分,KS區分
_WI(WS) 是否區分寬度 WI不區分,WS區分
設置參考值有:
1 _CI_AI --不區分大小寫、不區分重音、不區分假名類型、不區分寬度 2 _CI_AI_WS -- 不區分大小寫、不區分重音、不區分假名類型、區分寬度 3 _CI_AI_KS --不區分大小寫、不區分重音、區分假名類型、不區分寬度 4 _CI_AI_KS_WS --不區分大小寫、不區分重音、區分假名類型、區分寬度 5 _CI_AS --不區分大小寫、區分重音、不區分假名類型、不區分寬度 6 _CI_AS_WS --不區分大小寫、區分重音、 不區分假名類型、區分寬度 7 _CI_AS_KS --不區分大小寫、區分重音、區分假名類型、不區分寬度 8 _CI_AS_KS_WS --不區分大小寫、區分重音、區分假名類型、區分寬度 9 _CS_AI --區分大小寫、不區分重音、 不區分假名類型、不區分寬度 10 _CS_AI_WS --區分大小寫、不區分重音、不區分假名類型、區分寬度 11 _CS_AI_KS --區分大小寫、不區分重音、區分假名類型、不區分寬度 12 _CS_AI_KS_WS --區分大小寫、不區分重音、區分假名類型、區分寬度 13 _CS_AS --區分大小寫、區分重音、不區分假名類型、不區分寬度 14 _CS_AS_WS --區分大小寫、區分重音、不區分假名類型、區分寬度 15 _CS_AS_KS --區分大小寫、區分重音、區分假名類型、不區分寬度 16 _CS_AS_KS_WS --區分大小寫、區分重音、區分假名類型、區分寬
當然在查詢時也可以在where里面設置是否區分大小寫,當我們不設置是否區分大小寫時默認為建表時的屬性,如: