像参数存储过程中的函数一样

时间:2018-04-20 07:35:09

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

美好的一天   我的商店程序存在问题,如下所示:

我需要知道wchich经理有哪个员工   我的语句功能WITH as SELECT工作正常,但是   我的问题是程序,当ial caling back Iam geting 0 row back。   当我创建procerure时,我认为应该使用Function LIKE的问题。

感谢您的意见

create procedure test @Name varchar(200) as

WITH n(Surname,Name) AS 
   (SELECT Surname,Name
    FROM [dbo].[phonebook]
    WHERE Name like '%@Name' --I need to be like here beause before name is XT245*/ SUBCODE
        UNION ALL
    SELECT subs.Surname, subs.Name
    FROM [dbo].[phonebook] as subs, n
    WHERE n.Surname = subs.Boss)
SELECT  Name FROM n 

exec test 'XX37485*/John'

1 个答案:

答案 0 :(得分:0)

这个表达式:

WHERE名称如'%@ Name' - 我需要像这里一样,因为名字之前是XT245 * / SUBCODE

正在寻找具有完全该字符模式的名称。 。 。 @ N a m e。没有变量替换。

如果您想使用like,那么:

WHERE Name like '%' + @Name

请注意,这需要使用@Name模式结束,因此它不会与字符串中的任何位置匹配@Name