MSSQL 資料庫語句居然區分大小寫

2021-08-27 13:07:37 字數 1478 閱讀 7466

一直以來我們都認為資料庫語句是不區分大小寫,其實這是錯誤的認識,之所以不區分是因為資料庫語言不區分大小寫。這裡我們以mssql2005中自帶的adventureworksdw資料庫為例。

執行以下語句

select databasepropertyex('adventureworksdw','collation')

goselect top 1 * from dimaccount

執行結果:

這裡的dimaccount表名應該是dimaccount(表名大小寫問題),然後執行以下語句:

alter database adventureworksdw  collate  sql_latin1_general_cp1_cs_as

goselect top 1 * from dimaccount

執行結果:

執行select top 1 * from dimaccount一切正常

所以說sql語句不區分大小寫這種說法是不對,是否區分主要看資料庫collate 屬性是否區分大小。

_ci_ai   不區分大小寫、不區分重音、不區分假名型別、不區分寬度      

_ci_ai_ws   不區分大小寫、不區分重音、不區分假名型別、區分寬度      

_ci_ai_ks   不區分大小寫、不區分重音、區分假名型別、不區分寬度      

_ci_ai_ks_ws   不區分大小寫、不區分重音、區分假名型別、區分寬度      

_ci_as   不區分大小寫、區分重音、不區分假名型別、不區分寬度      

_ci_as_ws   不區分大小寫、區分重音、   不區分假名型別、區分寬度      

_ci_as_ks   不區分大小寫、區分重音、區分假名型別、不區分寬度      

_ci_as_ks_ws   不區分大小寫、區分重音、區分假名型別、區分寬度      

_cs_ai   區分大小寫、不區分重音、   不區分假名型別、不區分寬度      

_cs_ai_ws   區分大小寫、不區分重音、不區分假名型別、區分寬度      

_cs_ai_ks   區分大小寫、不區分重音、區分假名型別、不區分寬度      

_cs_ai_ks_ws   區分大小寫、不區分重音、區分假名型別、區分寬度      

_cs_as   區分大小寫、區分重音、不區分假名型別、不區分寬度      

_cs_as_ws   區分大小寫、區分重音、不區分假名型別、區分寬度      

_cs_as_ks   區分大小寫、區分重音、區分假名型別、不區分寬度      

_cs_as_ks_ws   區分大小寫、區分重音、區分假名型別、區分寬度

ASP連線MSSQL資料庫語句

asp與mssql 2012 企業版連線字串 connstr provider sqloledb data source 127.0.0.1 initial catalog westrac user id sa pwd ssddddhzx asp與mssql 2008 企業版連線字串 connstr...

MSSQL資料庫注入

用下面的這種方法暫時解決了,目前為止沒有再出現插入了 在global.asax檔案下面加入如下 希望能管用.針對.net region sql注入式攻擊 分析 處理使用者提交的請求 分析使用者請求是否正常 傳入使用者提交資料 返回是否含有sql注入式攻擊 private bool processsq...

MSSQL資料庫使用者

1 建立登入帳戶 1 新增 windows 登入帳戶 exec sp grantlogin jbtraining s26301 網域名稱 使用者名稱 2 新增 sql 登入帳戶 exec sp addlogin zhangsan 1234 exec 表示呼叫儲存過程,儲存過程類似 c 語言的函式。內...