存储过程参数(如检查)

时间:2019-03-15 11:25:00

标签: sql stored-procedures parameters wildcard sql-like

我有一个存储过程,运行时在表中显示所有文件名的列表。我希望它是可选的,以选择您要查找的文件名。这是我的代码:

CREATE PROCEDURE [schema].[getFileName] (
  @FileName NVARCHAR(500) = N'%' ) AS
BEGIN

SELECT * FROM table t
WHERE t.FileName like '%' + @FileName + '%'

END
GO

运行此命令时:

EXEC getFileName

我只返回了一个文件名,而不是表中包含的几个文件名。


我刚刚发现表中并非所有行都包含文件名(它是 NULL ),这就是为什么我没有得到预期结果的原因。我需要弄清楚如何解决此问题。感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

请尝试这个。

CREATE PROCEDURE [schema].[getFileName] (
  @FileName NVARCHAR(500) = N'' ) AS
BEGIN

SELECT * FROM table t
WHERE t.FileName like '%' + @FileName + '%'

END
GO