Informix 更改 CASE WHEN eventType = 7 THEN "Logged Out"

Informix change CASE WHEN eventType = 7 THEN "Logged Out"

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

CASE WHEN eventType = 7 THEN "Logged Out"

基本上当eventType为7时显示'Logged Out'.

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

您将能够将返回的列与您的文本引用为 'status'。

如果您的 Informix 版本不支持 CASE,那么它也不会支持 DECODE(但必须严重 古代)。如果您只有少数选项,则可以使用 DECODE():

非常简洁地编写 CASE 语句

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

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

就是说,如果您发现自己一遍又一遍地编写这段代码,您应该创建一个查找 table 来解码 eventType,或者至少将逻辑封装在一个存储过程中,这样它只需要改一处。