我有一个查询,如下所示:
SELECT * FROM mytable WHERE USER_ID = ?
然后使用准备好的语句设置USER_ID
。有没有一种方法可以使用相同的查询和准备好的语句来检索数据而无需任何过滤?像followinf这样的东西?
SELECT * FROM mytable WHERE USER_ID = *
我想使用相同的查询和准备好的语句设置方法来获取与SELECT * FROM mytable
等效的数据
我通过了SQL ANY
和ALL
,但是它们似乎并不能解决我的问题。
答案 0 :(得分:4)
如果我理解正确,则可以使用这种条件。
将参数设置为默认值或选中@USER_ID
,在此示例中,我将默认值设置为NULL
。如果要获取所有数据,可以将@USER_ID
设置为NULL
,否则按userID
DECLARE @USER_ID INT = NULL;
SELECT *
FROM mytable
WHERE (@USER_ID IS NULL) OR USER_ID = @USER_ID
这是来自sql-server的示例