![]() |
1
5
结果发现,最好的解决方案实际上是重构所有SQL和代码。 在过去的几天里,我编写了一个重构应用程序来修复所有存储的过程、函数、视图、表名以保持一致,并使用正确的大小写,例如:
将更改为
然后,该应用程序还将遍历代码并替换任何出现的存储过程及其参数,并将其更正为与数据库中定义的情况相匹配。应用程序中的所有数据表都设置为不变的区域设置(感谢fxcop指出所有数据表..),这可以防止代码中的调用区分大小写。 如果有人想要这个应用程序或者关于这个过程的任何建议,你可以在dotnetvixen@gmail.com上联系我。 |
![]() |
2
0
也许我不理解这里的问题,但这是否更不可能,因为数据库区分大小写,而您的查询不区分大小写?例如,在Sybase上,我可以执行以下操作:
这说明我的数据库不区分大小写:
|
![]() |
3
0
如果您可以更改正在使用的排序规则,请尝试使用不变的区域设置。但是要确保你不会影响其他的事情,比如客户的名字和地址。如果一个客户习惯于不区分大小写地搜索自己的名字,那么如果我和_旃不再是等价物,或者我和_旃旃不再是等价物,他们就不会喜欢它。 |
![]() |
4
0
可以将数据库排序规则更改为默认值:这将使您的所有文本列都保留土耳其语列吗? 查询将工作,但数据将正常工作。从理论上说… 有一些带有临时表的gotchas和带有varchar列的表变量:您必须向它们添加collate子句。 |
![]() |
5
0
我知道您不想通过所有的存储过程来解决这个问题,但也许您可以使用重构工具来解决这个问题。我说看看 SQL Refactor . 我没用,但看起来很有希望。 |
![]() |
6
0
我在土耳其的支持下开发了很多系统,正如你所说,这是众所周知的问题。 将数据库设置更改为UTF-8的最佳实践就是这样。它应该解决所有的问题。 如果要在(_±-i,i”)中支持区分大小写,则可能会遇到问题,这在SQL Server中可能是一个需要支持的问题。如果整个入口都来自web,请确保它也是utf-8。 如果将Web UTF-8输入和SQL Server设置保持为UTF-8,那么一切都应该顺利进行。 |
![]() |
7
0
将您机器的区域设置更改为英语(美国)完全可以节省一天的时间! |
![]() |
Duvan · 将逗号(,)替换为点(.)[副本] 2 年前 |
![]() |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
![]() |
SoT · SQL Server中求和函数的工作方式 2 年前 |
![]() |
NKAT · 将列值聚合到列表中会产生错误 2 年前 |
![]() |
deanpillow · 返回两列中有一个匹配值的记录 2 年前 |
![]() |
snowflakes74 · 在Dapper中异步查询多个结果 2 年前 |