sql - SQL Server 排序规则冲突

标签 sql sql-server

当我发出 SQL 查询时,有时会收到以下错误消息:

Cannot resolve the collation conflict between "Latin1_General_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.

我经常解决这个问题,只需使两个表排序规则相同即可。所以我需要知道是否有任何快速方法可以解决此问题。

我想在我的 SQL 查询中添加一些特殊的,因此,如果 sql 查询中两个表的排序规则不相同,那么查询也将完美运行,不会出现任何错误。有什么解决办法吗?

最佳答案

您可以使用COLLATE强制使用哪种排序规则。条款。

SELECT *
FROM Table1 T1
INNER JOIN Server2.dbo.Table2 T2
ON T1.Name = T2.Name COLLATE database_default

在两个数据库或服务器之间连接表时,排序规则冲突很常见,特别是在数据库版本不同的情况下。

关于sql - SQL Server 排序规则冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8534123/

相关文章:

javascript - 多个 AJAX 调用的限制?

mysql - 添加带有更新级联的外键

sql - 编写适用于不同 RDBMS 的 SQL 查询?

sql - 为什么我不能 "SELECT INTO"名称以数字开头的数据库?

sql - 何时在 SQL Server 数据仓库中使用用户定义的函数

sql - 使用嵌套 JSON 数组上的过滤器进行选择

sql-server - ALTER TABLE ALTER COLUMN 会中断正在进行的数据库访问吗?

sql-server - Sqlite 中的 TSQL "IF @@Rowcount > 0"模拟?

node.js - 如何将 IBM Cloud Functions 上的操作与数据库连接?

c# - 使用 SQL 存储过程作为源在 ASP.NET Gridview 中将数字格式化为货币