选择具有条件的空列

时间:2010-03-03 09:47:42

标签: sql-server

ID Date Day Status

001 23/02/2009 Monday Appear
001 24/02/2009 Tuesday Appear
001 25/02/2009 Wednesday Appear
001 26/02/2009 Thursday Appear
001 27/02/2009 Friday null
001 28/02/2009 Saturday Appear
001 29/02/2009 Sunday null
002
...,

查询

从table1

中选择ID,日期,日期,ISNull(状态,'假日')

以上查询出现Status null列为Holiday的所有日子,但我想仅显示星期五和星期六。

在星期五有空列,它应该显示为假日 在星期六有空列,它应该显示为假日

预期产出

ID日期日状态

001 23/02/2009 Monday Appear
001 24/02/2009 Tuesday Appear
001 25/02/2009 Wednesday Appear
001 26/02/2009 Thursday Appear
001 27/02/2009 Friday Holiday
001 28/02/2009 Saturday Appear
001 29/02/2009 Sunday null
002
...,

1 个答案:

答案 0 :(得分:3)

只需使用案例陈述。

select ID, Date, Day, 
  ISNull(Status, case when Day not in ('Saturday', 'Sunday') then 'Holiday' end)
from table1