根据SQL select语句中的条件检查添加包含结果的列

时间:2014-12-01 22:58:10

标签: java oracle

是否可以根据某些条件在select语句中添加列和值。我正在尝试将名为status的列添加到我的结果中,该结果将根据条件检查显示活动或非活动状态。

我在表格中有两列开始日期和结束日期。我正在向sql发送一个日期,所以我的select语句应测试此日期是否在开始日期和结束日期之间,并在新列中设置活动/非活动文本。

我正在使用以下SQl语句获得活动记录现在我也希望处于非活动状态。

select last_name, first_name, 'ACTIVE' as status
from vw_member
where last_name like :lastname
  and   first_name like :firstName
  and TO_DATE(:dateOfCall, 'MM/DD/YYYY') between start_date and end_date
order by last_name, first_name;

1 个答案:

答案 0 :(得分:1)

是的,可以使用CASE声明。一个例子被描述为here

> select last_name, first_name,  case when TO_DATE(:dateOfCall,
> 'MM/DD/YYYY') between start_date and end_date then 'ACTIVE' else
> 'INACTIVE' end as status from vw_member where last_name like :lastname
> and   first_name like :firstName   order by last_name, first_name;