程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server字符串區別大小寫方法

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

編輯:關於SqlServer

      在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區分

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

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

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

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

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved