Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#和类SQL条件:';%';用作单字符通配符_C#_Sql_Sql Server_Wildcard_Sql Like - Fatal编程技术网

C#和类SQL条件:';%';用作单字符通配符

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)

我的数据集中有这样的查询(数据库位于.mdf文件中):

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)