熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

SQL Server字符串區別大小寫方法

2013-11-15 14:47:30  來源: SQL Server 

  在SQL Server中默認對大小寫是不敏感的例如userName=jesse和userName=JESSE結果是一樣的在驗證密碼的時候可能就需要對字符串大小寫敏感需要做一些處理介紹兩種方法

  法Ⅰ轉換成二進制再比較由於大小寫的ASC碼不同例如

  select *

  from T_User

  where cast(field as varbinary) = cast( Admin as varbinary)

  法Ⅱ利用排序規則也是基於二進制在字段後加上collate Chinese_PRC_CS_AS_WS

  如

  select *

  from T_User

  where userName=admin AND PASSWORD collate Chinese_PRC_CS_AS_WS =Admin

  是否區分大小寫與排序規則有關排序規則中各部分含義如下所示

  舉例分析 Chinese_PRC_CS_AI_WS

  前半部份指UNICODE字符集Chinese_PRC_指針對大陸簡體字UNICODE的排序規則

  排序規則的後半部份即後綴 含義

  _BIN 二進制排序

  _CI(CS) 是否區分大小寫CI不區分CS區分

  _AI(AS) 是否區分重音AI不區分AS區分

  _KI(KS) 是否區分假名類型KI不區分KS區分

  _WI(WS) 是否區分寬度 WI不區分WS區分

  區分大小寫如果想讓比較將大寫字母和小寫字母視為不等請選擇該選項

  區分重音如果想讓比較將重音和非重音字母視為不等請選擇該選項如果選擇該選項比較還將重音不同的字 母視為不等

  區分假名如果想讓比較將片假名和平假名日語音節視為不等請選擇該選項

  區分寬度如果想讓比較將半角字符和全角字符視為不等請選擇該選項


From:http://tw.wingwit.com/Article/program/SQLServer/201311/22327.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.