是否可以根据某些条件在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;
答案 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;