【问题标题】:Using Case statement in Where clause in Oracle SQL在 Oracle SQL 的 Where 子句中使用 Case 语句
【发布时间】:2021-11-12 07:38:17
【问题描述】:

我有一个如下所示的选择语句

select * 
from employees 
where emp_id <= v_emp_id;

如果国家/地区不是美国,我希望 emp_id 成为 &lt;= v_emp_id

如果国家是美国,那么我希望 emp_id= v_usa_emp_id

【问题讨论】:

  • 'where (country_code 'US' and emp_id

标签: select conditional-statements case where-clause oracle12c


【解决方案1】:

你的问题有点模棱两可。我假设countryemployees 数据类型VARCHAR 的表中的一个属性。

SELECT * FROM employees
WHERE 
    (emp_id = v_emp_id AND country = 'USA') 
    OR (emp_id <= v_emp_id AND country != 'USA')

您可能想看看WHEREORAND

引用上面链接的OR页面:

如果您在一个语句中使用多个逻辑运算符,Oracle 会在 NOT 和 AND 运算符之后计算 OR 运算符。但是,您可以使用括号更改计算顺序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-26
    • 2013-10-16
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    • 2018-11-29
    相关资源
    最近更新 更多