Sql server 获取SQL Server中的错误";“之间的排序冲突”;拉丁语1“通用”CI“AI”;及;SQL拉丁语通用CP1 CI AS;在“等于”操作中;
我必须从服务器获取存储过程,并在本地创建,但这会导致此错误:Sql server 获取SQL Server中的错误";“之间的排序冲突”;拉丁语1“通用”CI“AI”;及;SQL拉丁语通用CP1 CI AS;在“等于”操作中;,sql-server,Sql Server,我必须从服务器获取存储过程,并在本地创建,但这会导致此错误: "Cannot resolve the collation conflict between "Latin1_General_CI_AI" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation." 我不知道我为什么会犯这个错误。我跟踪了很多链接,也尝试更改所有数据库排序规则,但也出现了一个错误。如何解决此问题 这是我的存储过程=> DECLARE @Special
"Cannot resolve the collation conflict between "Latin1_General_CI_AI" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation."
我不知道我为什么会犯这个错误。我跟踪了很多链接,也尝试更改所有数据库排序规则,但也出现了一个错误。如何解决此问题
这是我的存储过程=>
DECLARE @Specialities nvarchar(max)
INSERT INTO Feed // here i am getting error in sql server
(
FId, // here i am show datatype int
SpecialityId, // int
IsTagged, // bit
InsertBy // int
)
SELECT @CaseId,
CategoryId,
1,
@UserId
FROM Categories WHERE Category IN (SELECT items FROM Split(@Specialities,';'))
将
COLLATE
添加到子查询中。请尝试使用Latin1\u General\u CI\u AI
和SQL\u Latin1\u General\u CP1\u CI\u AS
DECLARE @Specialities nvarchar(max)
INSERT INTO Feed // here i am getting error in sql server
(
FId, // here i am show datatype int
SpecialityId, // int
IsTagged, // bit
InsertBy // int
)
SELECT @CaseId,
CategoryId,
1,
@UserId
FROM Categories WHERE Category collate SQL_Latin1_General_CP1_CI_AS IN (SELECT items FROM Split(@Specialities,';'))
可能重复@InnovaitResolutions我知道有很多用户问这个问题,但我也看到了这些链接,但在我发布这篇文章后,我不希望有任何解决方案;在SQL Server视图中粘贴select语句(不带参数)。SQL Server然后自动将排序规则添加到select语句中。查看结果并将其粘贴回去。@coderwill解决方案是避免混淆排序规则。什么是
Split
,它返回什么?是UDF吗?SQLCLR函数?创建它使用了哪些属性?为什么首先要使用CSV而不是表变量?错误是关于等于
操作。您发布的thw查询中没有此类操作,这可能意味着Split
是一个使用相等检查的UDF。你用的是其中一种吗?它是否使用varchar
参数,或varchar
而不是nvarchar
转换?例如,在XML技术中,您需要将字符串读取为nvarchar
元素