我正在创建一个接受ID作为参数的存储过程,并将带来一条与提供的ID相关的记录,如果没有提供ID,则将整个结果集带回来。
我已经设法使用COALESCE函数进行了一些解决方法,但我真的希望将该输入参数作为INTEGER数据类型。
这是我的代码:
CREATE PROCEDURE GetThis
@ID VARCHAR(25) = NULL
AS
BEGIN
SET @ID= COALESCE( @ID, '%' )
...
SELECT * FROM #TABLE
WHERE CONVERT(VARCHAR(25),ID) LIKE @ID
END
实现这一目标的最佳方法是什么?
答案 0 :(得分:1)
使用OR
声明:
SELECT * FROM #TABLE
WHERE @ID IS NULL
OR CONVERT(VARCHAR(25),ID) LIKE @ID