我在我的DataSet中有这样的查询(数据库位于.mdf文件中):
SELECT *
FROM TableName
WHERE SomeField LIKE @Param
表TableName
在Значение
字段中包含记录 SomeField
。
当@Param
Значени%
时,它可以正常运行,但当@Param
Значен%
或时Значе%
,它会返回0行。 Значе%%%
也有效。
为什么'%'作为单字符通配符工作?
答案 0 :(得分:5)
你的问题是你应该使用NVARCHAR的@param,而不是NCHAR
declare @Param nchar(255)
set @Param = N'Значе%'
这真的是
N'Значе% ...' (many more spaces)
因此它与您的数据不匹配,即
N'Значение ...' (padded with spaces)