SQL查询搜索两个字符串

时间:2013-10-06 08:29:12

标签: mysql sql sql-server

我正在尝试运行一个基本的SQL查询,其中搜索两个字符串之一:

  1. “夜间工作”
  2. “夜间工作完成”
  3. 我已经尝试过where命令,但我得到一个空输出。 这是有问题的部分:

          where execution_location = ('Nightly job up' or Nightly job 'finished');
    

    请提供帮助,提前致谢。

5 个答案:

答案 0 :(得分:2)

改为使用IN(...)

where execution_location in ('Nightly job up', 'Nightly job finished');

这是比较一个子句中多个值的方法。

答案 1 :(得分:0)

您的where字符串应该是MySQL或Transact-SQL:

WHERE (execution_location = 'Nightly job up' OR execution_location = 'Nightly job finished');

答案 2 :(得分:0)

尝试:

WHERE execution_location IN ('Nightly job up, 'Nightly job finished');

或者,如果您想要的是找到以夜间作业开头的每个字符串:

WHERE execution_location LIKE 'Nightly job%'

答案 3 :(得分:0)

尝试

where execution_location in ('Nightly job up', 'Nightly job finished');

答案 4 :(得分:0)

你的表达:

('Nightly job up' or 'Nightly job finished')

...被评估为布尔表达式,结果为0(或FALSE)(因为字符串计算为FALSE)。

因此,您的最终WHERE条款相当于:

... WHERE execution_location = 0

其他人已经提供了正确的语法:)