在做一个sql查询时遇到了个问题,就是如何将查询出来的多列合为一列?sql语句和查询结果截图如下:
SELECT *,
(case when getdate()<endTime and getdate()>=startTime then '正在考试' end) as '考试',
(case when getdate()<startTime then '未考试' end) as '考试',
(case when getdate()>endTime then '已考试' end) as '考试'
from T_ExaminationHall
查询结果如下截图:
如何将图中红线圈起来的3列合为一列?求大神帮助

解决方案 »

  1.   

    try this,SELECT *,
    isnull((case when getdate()<endTime and getdate()>=startTime then '正在考试' end),'')
    +isnull((case when getdate()<startTime then '未考试' end),'')
    +isnull((case when getdate()>endTime then '已考试' end),'') as '考试'
    from T_ExaminationHall
      

  2.   

    SELECT *,
    case 
    when getdate()<endTime and getdate()>=startTime then '正在考试'  
    when getdate()<startTime then '未考试'
    when getdate()>endTime then '已考试' 
    end) as '考试'
    from T_ExaminationHall