就像ISNULL%不起作用

时间:2014-07-10 15:00:11

标签: sql-server stored-procedures

我有一个简单查询的SP:

@first_name nvarchar(50) = null
AS
BEGIN
Select * from empTable where first_name like %ISNULL(@first_name, first_name)%
END

我想要做的是,如果用户输入@first_name的值,查询应该像Select * from empTable where first_name like '%John%'

一样

如果使用没有输入名字,我应该能够归还所有内容 - 好像没有任何条件。

它一直告诉我我的SP中存在语法错误

1 个答案:

答案 0 :(得分:4)

尝试:

@first_name nvarchar(50) = null
AS
BEGIN
Select * from empTable where first_name like '%' + ISNULL(@first_name, first_name) + '%'
END