如何在db2列选择查询中使用大小写

时间:2014-08-28 10:29:42

标签: sql select db2

我有一个表,其中有一个varchar列'someid'和一些时间戳列: 'date_1', ... , date_4'xdate_1', ... , xdate_4  我试图根据'someid'值选择其中两个,但直到现在都没有运气。我确信这是语法,谷歌搜索也没有帮助,因为所有的例子都与我的查询类似。

继承人我正在做的事情:

select
  case
    when someid = 1 then date_1
    when someid = 2 then date_2
    when someid = 3 then date_3
    when someid = 4 then date_4
 ,case
    when someid = 1 then xdate_1
    when someid = 2 then xdate_2
    when someid = 3 then xdate_3
    when someid = 4 then xdate_4
from mytable;

2 个答案:

答案 0 :(得分:11)

您忘记了end

select
  case
    when someid = 1 then date_1
    when someid = 2 then date_2
    when someid = 3 then date_3
    when someid = 4 then date_4
  end as col1
 ,case
    when someid = 1 then xdate_1
    when someid = 2 then xdate_2
    when someid = 3 then xdate_3
    when someid = 4 then xdate_4
  end as col2
from mytable;

答案 1 :(得分:0)

注意,如果someid是一个字符列,那么你应该使用字符比较:

select (case when someid = '1' then date_1
             when someid = '2' then date_2
             when someid = '3' then date_3
             when someid = '4' then date_4
         end),
        . . .
from mytable;