1

我在 ms sql server 2008 中做了一个程序:

CREATE PROC sp_search
@input varchar(50)
AS
BEGIN
SELECT col1,col2 FROM tbl1 WHERE col1=@input OR col2=@input
END

现在 IN tbl1 的值为:

col1        col2
-------   ----------
in001      in-blr
in002      in-hyd
in003      in-kol
jp001      jp-hoc
jp002      jp-sng
-----     -------
-----     -------
au001     au-syd

像那样。

现在我的问题是如何创建一个程序,我可以在其中提供@input=in001@input=in@input=blr或任何匹配并提供输出的东西。我试着给'喜欢'但是

SELECT col1,col2 FROM tbl1 WHERE col1 LIKE '%@input%'
OR col2 LIKE '%@input%'

不管用。我也试过了
SELECT col1,col2 FROM tbl1 WHERE col1=('%' + @input + '%') OR col2=( '%' + @input + '%' )
但它也不起作用。请帮我。

4

1 回答 1

1

试试这个——

CREATE PROCEDURE usp_search 

@input VARCHAR(50)

AS BEGIN

     SELECT
           col1
         , col2
     FROM dbo.tbl1 t
     WHERE t.col1 LIKE '%' + @input + '%'
          OR t.col2 LIKE '%' + @input + '%'

END
于 2013-07-29T09:19:25.310 回答