Sql server Unicode字符串(在@variable中)不';你不能像我一样比赛吗?
在我的SQL中,where子句中的“N”函数不能正常工作。 这是我的SQL代码Sql server Unicode字符串(在@variable中)不';你不能像我一样比赛吗?,sql-server,Sql Server,在我的SQL中,where子句中的“N”函数不能正常工作。 这是我的SQL代码 SELECT [11 Lab Data Detail].LineDesc, [11 Lab Data Detail].ProductSample, [11 Lab Data Detail].LotNo, [11 Lab Data Detail].TestDesc, Avg([11 Lab Data Detail].TestRes) AS [TestRes] into
SELECT
[11 Lab Data Detail].LineDesc,
[11 Lab Data Detail].ProductSample,
[11 Lab Data Detail].LotNo,
[11 Lab Data Detail].TestDesc,
Avg([11 Lab Data Detail].TestRes) AS [TestRes]
into
[21 Test Result]
FROM
[11 Lab Data Detail]
GROUP BY
[11 Lab Data Detail].LineDesc,
[11 Lab Data Detail].ProductSample,
[11 Lab Data Detail].LotNo,
[11 Lab Data Detail].TestDesc
HAVING
[11 Lab Data Detail].LineDesc=@LineDesc AND
[11 Lab Data Detail].ProductSample=@ProductSample AND
[11 Lab Data Detail].LotNo=@LotNo AND
[11 Lab Data Detail].TestDesc like N'%' + @TestDesc + '%'
这里,如果我对@testDesc-like使用常量值
像N'SP(C)那么它工作正常 是[11 Lab Data Detail]列。TestDesc是varchar或nvarchar数据类型还是其他类型?能否告诉我们
@TestDesc
的一个值不起作用(其中包含Unicode字符)。另外,请说出“不工作”的意思。嗨,谢谢你的回复。当@TestDesc为“SP(ºC)”时,它不会选择结果。如果它有非unicode值,比如“IV(Manual)”,它会选择结果。基本测试表明它是有效的。很明显,还有其他原因使它不适合您。您如何初始化变量?是否传递要存储的值的环境实际上是非Unicode的?您好,谢谢您的回复。我找到了解决办法。问题在于如何执行存储过程。实际上,我使用access中的传递查询来执行此操作。我在查询中添加了“N”,现在一切都正常了。谢谢。