is there any function in Hive similiar to decode in Oracle?

后端 未结 2 1515
悲&欢浪女
悲&欢浪女 2020-12-19 08:52

I\'m looking for a string function that works like Oracle\'s DECODE Having table tab with a single column col

col
----
a
b
c
d


        
相关标签:
2条回答
  • 2020-12-19 09:03

    It may be easier to read and to inspect if you avoid nesting by using a flat CASE WHEN THEN expression :

    SELECT
      CASE 
        WHEN col = 'a' THEN 1
        WHEN col = 'b' THEN 2
        ELSE 9
      END dec
    FROM tab
    
    0 讨论(0)
  • 2020-12-19 09:10

    You could write a nested if statement.

    Query:

    select col
      , if(col='a', 1, if(col='b', 2, 9)) dec
    from table
    

    Output:

    ---------
    col | dec
    ---------
     a     1
     b     2
     c     9
     d     9
    
    0 讨论(0)
提交回复
热议问题