MSSQL 數據庫語句原來是區分大小寫的啊


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

執行以下語句


SELECT databasepropertyex('AdventureWorksDW','collation')
go
select top 1 * from Dimaccount

運行結果:

這里的Dimaccount表名應該是DimAccount(表名大小寫問題),然后執行以下語句:

alter database AdventureWorksDW  COLLATE  SQL_Latin1_General_CP1_CS_AS
go
select 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   區分大小寫、區分重音、區分假名類型、區分寬度

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM