【发布时间】:2021-07-07 02:32:32
【问题描述】:
我有一个 Employee 表,其中包含 Emp_Name 和 Emp_Salary 两列。我想检索 Emp_Name 和一个新列作为 Indicator,如果 Emp_Salary 值大于 10000,它会生成 1,否则生成 -1。
谁能告诉我在 Oracle 中的 SQL 查询。
【问题讨论】:
我有一个 Employee 表,其中包含 Emp_Name 和 Emp_Salary 两列。我想检索 Emp_Name 和一个新列作为 Indicator,如果 Emp_Salary 值大于 10000,它会生成 1,否则生成 -1。
谁能告诉我在 Oracle 中的 SQL 查询。
【问题讨论】:
一个 CASE 子句应该能够做到这一点:
select emp_name,
case when emp_salary > 10000 then 1 else -1 end salary_flag
from employee
【讨论】:
您可以在查询中使用 CASE 或 IFF。两者都对你有用。以下是两个子句的代码
Select Emp_Name, Emp_Salary, Case when Emp_Salary > 10000 then 1 else -1 end as Indicator
from Employee
或
Select Emp_Name, Emp_Salary IIF (Emp_Salary > 10000 then 1 else -1) as Indicator
from Employee
【讨论】: