2014-12-01 114 views
0

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

我在表中有两列开始日期和结束日期。我给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

你可以尝试类似''当你的测试''然后'活跃'或'非活动'结束为状态' – JuanSedano 2014-12-01 23:07:11

回答

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;