Signature
if(boolean condition, T trueValue, T falseValue)
‘if’ function return trueValue when the condition evaluates to true, else falseValue.
Example
SELECT name,if((gender_age.gender=='Male'),'M','F') FROM emp;
Above snippet print employee name and gender information. If gender is ‘Male’ then it print ‘M’ else ‘F’.
hive> SELECT * FROM emp;
OK
emp.id emp.name emp.hobbies emp.technology_experience emp.gender_age emp.rating emp.salary
1 Hari ["Football","Cricket"] {"Java":"3.4Yrs","C":"4.5Yrs"} {"gender":"Male","age":30} -1.5 1000000.0
2 Chamu ["Trekking","Watching movies"] {"Selenium":"5.6Yrs"} {"gender":"Female","age":38} 3.0 2500000.0
3 Sailu ["Chess","Listening to music"] {"EmbeddedC":"9Yrs"} {"gender":"Female","age":32} 2.5 1300000.0
4 Gopi ["Cricket"] {"Datastage":"11Yrs"} {"gender":"Male","age":32} -0.7 8.1E7
5 Rahim [] {} {"gender":"Male","age":null} -0.7 500000.0
Time taken: 0.047 seconds, Fetched: 5 row(s)
hive> ;
hive> ;
hive> SELECT name,if((gender_age.gender=='Male'),'M','F') AS gender FROM emp;
OK
name gender
Hari M
Chamu F
Sailu F
Gopi M
Rahim M
Time taken: 0.041 seconds, Fetched: 5 row(s)
No comments:
Post a Comment