關於sql語句區分大小寫問題
區分大小寫:select * from table where col='semye' collate Chinese_PRC_CS_AI
理解collate Chinese_PRC_CI_AS NULL |
我們在create table時經常會碰到這樣的語句,例如:password nvarchar(10)collate chinese_prc_ci_as null,那它到底是什麼意思呢?不妨看看下面: 首先,collate是一個子句,可應用於資料庫定義或列定義以定義排序規則,或應用於字串表示式以應用排序規則投影。 語法是collate collation_name collation_name ::={windows_collation_name}|{sql_collation_name} 引數collate_name是應用於表示式、列定義或資料庫定義的排序規則的名稱。collation_name 可以只是指定的 Windows_collation_name或 SQL_collation_name。
Windows_collation_name 是 Windows 排序規則的排序規則名稱。參見 Windows 排序規則名稱。 下面簡單介紹一下排序規則:
什麼叫排序規則呢?MS是這樣描述的:"在 Microsoft SQL Server 2000 中, select * from ::fn_helpcollations()
排序規則名稱由兩部份構成,前半部份是指本排序規則所支援的字符集。 排序規則的後半部份即字尾 含義: _BIN 二進位制排序 _CI(CS) 是否區分大小寫,CI不區分,CS區分 _AI(AS) 是否區分重音,AI不區分,AS區分 _KI(KS) 是否區分假名型別,KI不區分,KS區分 _WI(WS) 是否區分寬度 WI不區分,WS區分 區分大小寫:如果想讓比較將大寫字母和小寫字母視為不等,請選擇該選項。 區分重音:如果想讓比較將重音和非重音字母視為不等,請選擇該選項。如果選擇該選項, 比較還將重音不同的字母視為不等。 區分假名:如果想讓比較將片假名和平假名日語音節視為不等,請選擇該選項。 區分寬度:如果想讓比較將半形字元和全形字元視為不等,請選擇該選項 |