我討厭大小寫敏感的數據庫,但我正在爲使用它的客戶開發。我如何在我的SQL Server上打開這個選項,所以我可以確定我的所有查詢都正確地使用了這種情況?如何更改SQL Server 2005以區分大小寫?
6
A
回答
7
如何:
ALTER DATABASE database_name COLLATE collation_name
見BOL爲list of collation options,並挑選區分大小寫的一個最適合您的需要(即一個你的客戶端使用)。
顯然,它可能是一個好主意,使你的數據庫的完整備份您嘗試在此之前。我從來沒有親自嘗試使用與服務器的默認排序規則不同的排序規則的數據庫,所以我不知道任何「陷阱」。但是,如果您有良好的備份並在將其部署到您的客戶端之前在您的環境中進行測試,我無法想象涉及很多風險。
0
你必須更改數據庫排序規則。您還需要更改表和列級別的排序規則。我相信你可以在那裏找到一個腳本,如果你谷歌它。
14
你實際上並不需要更改排序規則對整個數據庫,如果你聲明它需要區分大小寫的表或列。事實上,您可以根據需要將其附加到單個操作中。
SELECT name WHERE 'greg' = name COLLATE Latin1_GENERAL_CS_AS
我知道了,你說過你希望這適用於整個數據庫。但我提到這一點是因爲在某些託管環境中,您無法控制此數據庫創建時設置的屬性。
1
如果您有具有不同的排序規則,以實例默認情況下,DB,你會遇到問題,當你試着和暫時的加入你的表。臨時表有實例的排序規則(因爲它們是系統對象),所以你需要使用COLLATE database_default子句中的聯接。
select temp.A, table.B
from #TEMPORARY_TABLE temp inner join table
on temp.X COLLATE database_default = table.Y
這會強制temp.X(在此示例中)的歸類到當前數據庫的歸類。
相關問題
- 1. SQL Server:區分大小寫的匹配?
- 2. SQL Server列名區分大小寫
- 3. SQL Server的區分大小寫
- 4. 的SQL Server查詢區分大小寫
- 5. 不區分大小寫MS SQL Server
- 6. 將SQL Server排序規則更改爲區分大小寫且區分大小寫?
- 7. 我可以在SQL Server 2005中更改分區表嗎?
- 8. 如何使SQL區分大小寫
- 9. SQL BETWEEN區分大小寫
- 10. 的Sql區分大小寫
- 11. 如何刪除SQL Server 2008中的區分大小寫檢查?
- 12. 如何確定SQL Server實例是否區分大小寫
- 13. SQL Server到oracle遷移:如何保持區分大小寫
- 14. LINQ區分大小寫
- 15. SQL Server 2005 TempDB大小
- 16. SQL Server 2005中的分區
- 17. Lucene如何區分大小寫和不區分大小寫
- 18. 區分大小寫區分大小寫還是全大寫?
- 19. 如何定義SQL Server colum名稱不區分大小寫,但值區分大小寫
- 20. 如何區分大小寫?
- 21. 如何在SQL 2000/2005中執行區分大小寫的搜索和替換?
- 22. 區分大小寫SSIS
- 23. 不區分大小寫
- 24. SQL Server 2005密碼更改
- 25. SQL Server 2005更改審計
- 26. SQL語法是否區分大小寫?
- 27. 如何使用webconfig更改radgrid區分大小寫?
- 28. 區分大小寫的URL不區分大小寫
- 29. 如何更改大寫改爲小寫
- 30. 如果sql server的服務器排序規則區分大小寫且數據庫不區分大小寫,那麼查詢是否區分大小寫?
但不這樣做,應用LOWER()的列,否則將無法使用索引... – 2008-09-26 03:01:55