Sql 如何在Where子句条件中动态地编写remove条件
我的问题如下:Sql 如何在Where子句条件中动态地编写remove条件,sql,dynamic,conditional-statements,Sql,Dynamic,Conditional Statements,我的问题如下: 从mytable中选择*,其中用户ID=? 然后我使用准备好的语句设置用户ID。有没有一种方法可以使用相同的查询和预处理语句来检索数据而不进行任何筛选?像下面这样的可能吗 从mytable中选择*,其中用户ID=* 我想使用相同的查询和预处理语句设置方法从mytable中获取相当于SELECT*的数据 我检查了sqlANY和ALL,但它们似乎不能解决我的问题。如果我理解正确,您可以使用这样的条件 将参数设置为默认值或选中@USER\u ID,在此示例中,我将默认值设置为NULL。
从mytable中选择*,其中用户ID=?
然后我使用准备好的语句设置用户ID
。有没有一种方法可以使用相同的查询和预处理语句来检索数据而不进行任何筛选?像下面这样的可能吗
从mytable中选择*,其中用户ID=*
我想使用相同的查询和预处理语句设置方法从mytable中获取相当于SELECT*的数据
我检查了sqlANY
和ALL
,但它们似乎不能解决我的问题。如果我理解正确,您可以使用这样的条件
将参数设置为默认值或选中@USER\u ID
,在此示例中,我将默认值设置为NULL
。如果要获取所有数据,可以将@USER\u ID
设置为NULL
,否则通过userID
DECLARE @USER_ID INT = NULL;
SELECT *
FROM mytable
WHERE (@USER_ID IS NULL) OR USER_ID = @USER_ID
下面是一个来自SQLServer的示例
如果我理解正确,您可以使用这样的条件
将参数设置为默认值或选中@USER\u ID
,在此示例中,我将默认值设置为NULL
。如果要获取所有数据,可以将@USER\u ID
设置为NULL
,否则通过userID
DECLARE @USER_ID INT = NULL;
SELECT *
FROM mytable
WHERE (@USER_ID IS NULL) OR USER_ID = @USER_ID
下面是一个来自SQLServer的示例
是用户ID
您的动态参数吗?是的,它是在运行时检索的,您在使用哪个?“SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品postgresql
,oracle
,sql server
,db2
,…您使用的是哪种编程语言?USER\u ID
是您的动态参数吗?是的,它是在运行时检索的,您使用的是哪种?“SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品postgresql
,oracle
,sqlserver
,db2
,…添加一个脚本,您使用的是哪种编程语言?