我有一个 SQL 查询,它将数据库中的值与常量进行比较:
SELECT * FROM my_table
INNER JOIN #TempTable tem
ON my_table.id = temp.id
AND my_table.key = 'SOME STRING'
我得到错误:
Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation.
我怎样才能解决这个问题? (不更改数据库)
更新:即使我删除了最后一个像(字符串比较),我也会收到此错误...
最佳答案
好像是你的 id
是 VARCHAR
s 具有不同的排序规则。
尝试这个:
SELECT *
FROM my_table
INNER JOIN
#TempTable tem
ON my_table.id = temp.id COLLATE SQL_Latin1_General_CP1_CI_AS
AND my_table.key = 'SOME STRING'
关于与临时表中的列进行比较时 SQL 排序规则冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1404880/