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)