我在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 + '%' )
。
但它也没有用。
请帮帮我。
答案 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