我讨厌大小写敏感的数据库,但我正在为使用它的客户开发。我如何在我的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. 不区分大小写MS SQL Server
- 5. 将SQL Server排序规则更改为区分大小写且区分大小写?
- 6. 我可以在SQL Server 2005中更改分区表吗?
- 7. 如何使SQL区分大小写
- 8. SQL BETWEEN区分大小写
- 9. 的Sql区分大小写
- 10. LINQ区分大小写
- 11. 如何删除SQL Server 2008中的区分大小写检查?
- 12. SQL Server到oracle迁移:如何保持区分大小写
- 13. 区分大小写区分大小写还是全大写?
- 14. 如何区分大小写?
- 15. SQL Server 2005 TempDB大小
- 16. SQL Server 2005中的分区
- 17. 区分大小写SSIS
- 18. 如何在SQL 2000/2005中执行区分大小写的搜索和替换?
- 19. 不区分大小写
- 20. 如何使用webconfig更改radgrid区分大小写?
- 21. SQL语法是否区分大小写?
- 22. 区分大小写的URL不区分大小写
- 23. 使区分大小写不敏感的区分大小写表
- 24. 如果sql server的服务器排序规则区分大小写且数据库不区分大小写,那么查询是否区分大小写?
- 25. 如何在Spark SQL中更改分区大小
- 26. SQL Server 2005更改审计
- 27. 区分大小写
- 28. 执行不区分大小写在区分大小写的SQL Server数据库中使用查询
- 29. Weblogic URI区分大小写
- 30. 为什么区分大小写和不区分大小写?
但不这样做,应用LOWER()的列,否则将无法使用索引... – 2008-09-26 03:01:55