Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SQL在何处执行AND或then并比较结果_Sql_Sql Server 2008_Comparison - Fatal编程技术网

使用SQL在何处执行AND或then并比较结果

使用SQL在何处执行AND或then并比较结果,sql,sql-server-2008,comparison,Sql,Sql Server 2008,Comparison,我需要执行搜索,首先查找两个变量(使用or),然后与使用and的变量进行比较 下面是我基本上要完成的工作: SELECT STUFF FROM TABLE WHERE Variable1 = 'value' OR Variable2 = 'value2' AND Variable3 like '%value3%' GO 我基本上是想先做或,然后根据或语句的结果,我只需要添加与变量3匹配的结果,比如比较。任何帮助都将不胜感激 谢谢。简单 SELECT STUFF F

我需要执行搜索,首先查找两个变量(使用or),然后与使用and的变量进行比较

下面是我基本上要完成的工作:

SELECT STUFF
  FROM TABLE
  WHERE Variable1 = 'value' 
    OR Variable2 = 'value2'
    AND Variable3 like '%value3%'
GO
我基本上是想先做,然后根据语句的结果,我只需要添加与变量3匹配的结果,比如比较。任何帮助都将不胜感激

谢谢。

简单

SELECT STUFF
  FROM TABLE
  WHERE (Variable1 = 'value' OR Variable2 = 'value2')
    AND Variable3 like '%value3%'

请记住,括号优先。

看看“运算符优先”:
优先于
,因此您必须使用括号(优先于
),这取决于实际查询的外观,您还需要注意,系统不会严格地计算谓词,从左到右(或任何其他定义的)顺序-它将以它认为方便的任何顺序对它们进行评估。如果后面的谓词依赖于类型转换(例如,如果数据类型不合适,那么前面的谓词应该“阻止”发生类型转换),这可能会让人感到困惑。