在Oracle中使用Decode作为类似语句

Gia*_*ino 2 oracle decode sql-like

我需要写一个像这样的sql语句:

 SELECT id_segmento AS Segmento, Decode (id_segmento ,  '1' , 'a', 'b' )

 FROM mapchile.segmento
Run Code Online (Sandbox Code Playgroud)

但是在这种情况下,当id_segmento等于'1'时,我将获得'a',即使字符串id_Segmento包含'1',我也需要它为'a',类似于类似的声明.

还有像Decode这样的其他命令吗?

谢谢.

Jim*_*son 7

我会用一个案例陈述.就像是

case
   when id_segmento like '%1%' then 'a'
   else 'b'
end
Run Code Online (Sandbox Code Playgroud)


Vin*_*rat 5

使用CASE运算符进行复杂评估而不是DECODE函数:

SELECT id_segmento AS Segmento, 
       CASE
          WHEN id_segmento LIKE '%1%' THEN 
            'a'
          ELSE
            'b'
       END
  FROM mapchile.segmento
Run Code Online (Sandbox Code Playgroud)