C# 检查使用了两个where语句中的哪一个
我正在使用这个代码C# 检查使用了两个where语句中的哪一个,c#,sql-server,C#,Sql Server,我正在使用这个代码 SqlCommand cmd = new SqlCommand(select * from customers where phone = @mobile1 or phone = @mobile2), con); 如何检查WHERE子句中的两个条件中的哪一个适用于我的情况 示例是否使用mobile1或mobile2选择行 有什么方法可以检查这一点吗?是的,您可以查看SQL Profiler以检查触发了什么查询,或者您可以转到SSMS并使用此查询 您还可以使用in子句,
SqlCommand cmd =
new SqlCommand(select * from customers where phone = @mobile1 or phone = @mobile2), con);
如何检查WHERE
子句中的两个条件中的哪一个适用于我的情况
示例是否使用mobile1
或mobile2
选择行
有什么方法可以检查这一点吗?是的,您可以查看SQL Profiler以检查触发了什么查询,或者您可以转到SSMS并使用此查询 您还可以使用in子句,例如:
select * from customers where phone in ('A','B')
是的,您可以查看SQL Profiler以检查触发了什么查询,或者您可以转到SSMS并使用此查询 您还可以使用in子句,例如:
select * from customers where phone in ('A','B')
您可以添加一个额外的列:
select *,
CASE WHEN phone=@mobile1 THEN 1
WHEN phone=@mobile2 THEN 2
END as PhoneUsed
from customers
where phone=@mobile1 or phone=@mobile2
如果两者恰好具有相同的值,这将有利于
@mobile1
。您可以添加一个额外的列:
select *,
CASE WHEN phone=@mobile1 THEN 1
WHEN phone=@mobile2 THEN 2
END as PhoneUsed
from customers
where phone=@mobile1 or phone=@mobile2
select *, case when phone = @mobile1 then 1 else 2 end as whichOne
from customers
where phone in(@mobile1, @mobile2)
如果两者恰好具有相同的值,这将有利于
@mobile1
。我认为这就是答案。谢谢大家!@Dim1如果这是正确答案,请将其标记为正确答案;)或者您可以添加两列,然后您就会知道它是否使用了第一列、第二列或两列,只有当“mobile1”等于“mobile2”时,才能使用“两者”状态;o) 我想这就是答案。谢谢大家!@Dim1如果这是正确答案,请将其标记为正确答案;)或者您可以添加两列,然后您就会知道它是否使用了第一列、第二列或两列,只有当“mobile1”等于“mobile2”时,才能使用“两者”状态;o)
select *, case when phone = @mobile1 then 1 else 2 end as whichOne
from customers
where phone in(@mobile1, @mobile2)