my Where子句中的SQL参数不返回

my Where子句中的SQL参数不返回,sql,Sql,我有一个具有Where条件的存储过程 create proc TRYLANG @param1 varchar(20), @param2 varchar(20) as begin select * from [Reference].[tbl_FilterBy] where @param1 = @param2 end 但是当我执行存储过程时,它不返回任何行。救命啊!我的错误是什么?@param1=@param2??尝试: create pro

我有一个具有Where条件的存储过程

    create proc TRYLANG
    @param1 varchar(20),
    @param2 varchar(20)
    as
   begin
   select * from [Reference].[tbl_FilterBy]
   where @param1 = @param2
   end

但是当我执行存储过程时,它不返回任何行。救命啊!我的错误是什么?

@param1=@param2??尝试:

create proc TRYLANG
    @param1 varchar(20),
    @param2 varchar(20)
    as
   begin
   select * from [Reference].[tbl_FilterBy]
   where yourcolumnName = @param1 and  yourcolumnName = @param2
   end

检查表有一个值。您在正确的数据库中。

您想查询什么?
您正在传递两个参数并将它们一起比较

由于您无法通过参数传递列名,并且可能您正在尝试检查各种列,因此请尝试此操作

create proc TRYLANG
    @param1 varchar(20)
    as
   begin
   select * from [Reference].[tbl_FilterBy]
   where Column1 = @param1
   or    Column2 = @param1
   or    Column3 = @param1 // All your possible column you need to check
   end

不能使用参数指定
WHERE
子句(
@param1
)中的列名。如果必须这样做,则需要使用动态SQL(假设您谈论的是SQL Server),这两个参数中有什么?确实要检查它们的相等性吗?Param1包含列名,Param2包含行中的实际值。我不这么认为。据他说,Param1包含列名,Param2包含行中的实际值。。