sql向where子句添加动态OR

时间:2018-08-20 10:28:42

标签: sql-server

我再次需要您的帮助! 我的查询看起来像这样

Select * from USERS Where username = 'username1';

现在我想在where子句中添加一些OR:

Select * from USERS Where username = 'username1' OR username = 'username2';

问题在于必须动态生成查询,因为所选的用户数是1到10;

我创建了一个将所有用户添加到字符串的函数 输出:

'username = 'username1' OR username = 'username2''

我声明@names

现在我的查询如下:

DECLARE @names varchar(1000) = 'username = 'username1' OR  username = 'username2''
Select * from USERS Where @names;

在where子句中使用某些OR的正确方法是什么?

谢谢

1 个答案:

答案 0 :(得分:2)

使用IN()

SELECT * 
FROM 
    USERS 
WHERE
    username IN('username1','username2')