当事件类型= 7时,Informix更改CASE“已注销”

时间:2017-04-27 16:25:07

标签: database casting case informix

如何在Informix DB中将int更改为字符串。 例如:

CASE WHEN eventType = 7 THEN "Logged Out"

当eventType为7时,显示'Logged Out'。

2 个答案:

答案 0 :(得分:1)

select
   case 
      when eventType = 7 then "Logged Out"
      else "Something else"
   end status
from
   table1
where
   whatever = something

您可以使用文本“状态”来引用返回的列。

答案 1 :(得分:0)

如果您使用的Informix版本不支持CASE,那么它也不会支持DECODE(但它必须认真古代)。如果您有少量选项,则可以使用CASE非常简洁地撰写DECODE()声明:

SELECT DECODE(eventType, 7, "Logged Out", 5, "Something", "Something Else")

参数是列,然后是键和值对,然后(可选)默认情况下,如果没有键匹配。如果您没有提供默认值,则在此方案中您将获得NULL

也就是说,如果你发现自己一遍又一遍地编写这段代码,你应该创建一个用于解码eventType的查找表,或者至少将逻辑封装在存储过程中,这样它只需要在一个存储过程中进行更改的地方。