C#和类SQL条件:';%';用作单字符通配符
我的数据集中有这样的查询(数据库位于.mdf文件中): 表C#和类SQL条件:';%';用作单字符通配符,c#,sql,sql-server,wildcard,sql-like,C#,Sql,Sql Server,Wildcard,Sql Like,我的数据集中有这样的查询(数据库位于.mdf文件中): 表TableName包含SomeField字段中的记录 当@Param为时,它可以完美地工作,但当@Param为时,它返回0行ачаа%%%也有效 为什么“%”用作单字符通配符?您的问题是应该使用NVARCHAR的@param,而不是NCHAR declare @Param nchar(255) set @Param = N'Значе%' 这真是 N'Значе% ...' (many more spaces)
TableName
包含SomeField
字段中的记录
当@Param
为时,它可以完美地工作,但当@Param
为时,它返回0行ачаа%%%
也有效
为什么“%”用作单字符通配符?您的问题是应该使用NVARCHAR的@param,而不是NCHAR
declare @Param nchar(255)
set @Param = N'Значе%'
这真是
N'Значе% ...' (many more spaces)
所以它与您的数据不匹配
N'Значение ...' (padded with spaces)
表和数据库的排序规则是什么?在别处运行查询时,您是否得到相同的结果?以及column
和param
的数据类型。西里尔文概述,在数据集查看器和c#code中,我得到了相同的结果column
-char(255),param
-ansi string您确定不是指NCHAR吗?
N'Значение ...' (padded with spaces)