SQL Server字串區別大小寫方法

來源:互聯網
上載者:User

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

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

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

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

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.