基于sqlserver 2008中的模式匹配的搜索过程

时间:2013-07-29 09:14:34

标签: sql sql-server sql-server-2008 tsql

我在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

现在在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 < / strong>或任何匹配并提供输出的东西。我试图给'喜欢'但是

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

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

1 个答案:

答案 0 :(得分: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