我有一个SQL查询,它将数据库中的值与常量进行比较:
SELECT * FROM my_table
INNER JOIN #TempTable tem
ON my_table.id = temp.id
AND my_table.key = 'SOME STRING'
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation.
Run Code Online (Sandbox Code Playgroud)
我怎么能绕过这个?(不对数据库进行更改)
更新:即使我删除了最后一个(字符串比较),我也会收到此错误...
Qua*_*noi 15
看起来你id的是VARCHAR不同的排序规则.
试试这个:
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'
Run Code Online (Sandbox Code Playgroud)
在临时表的声明中指定排序规则.
CREATE TABLE #TempTable (ID NVARCHAR(255) COLLATE database_default)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27821 次 |
| 最近记录: |