在SQL Server存储过程中,有时在使用表变量并将它们与表变量中的数据进行比较时出现错误,有时显示错误,有时不显示。有时会在本地数据库和服务器数据库中产生错误,它确实显示了错误
我从StackOverflow的一些答案中找到了一些解决方案,比如SQL_Latin1_General_CP1_CI_AS
但是想要知道问题的根本原因并想要永久的解决方案
请帮助我找到正确的解决方案
发布于 2020-01-21 05:55:28
您必须使两个列具有相同的排序规则,以便我们可以进行比较。将列的collate更改为collate Latin1_General_CI_AS
中的SQL_Latin1_General_CP1_CI_AS
。
SELECT BTable.*
FROM ATable INNER JOIN BTable
ON ATable.cid = BTable.id collate SQL_Latin1_General_CP1_CI_AS
发布于 2020-01-21 06:56:05
确保本地数据库和服务器数据库上的数据库排序规则相同。然后,您可以将代码解决方案应用于这两种环境
select * from A join B on A.Name = b. Name collate SQL_Latin1_General_CP1_CI_AS
(当DB排序规则为SQL_Latin1_General_CP1_CI_AS时)
https://stackoverflow.com/questions/59834753
复制