赞
踩
目的:将表的cate_id是2的 和 prod_type_3 包含冰箱两个字的改为10,当cate_id是2的和 prod_type_3 不包含冰箱两个字的改为9,不满足上述条件的保持原值
错误hive语句
CASE
WHEN t.cate_id = 2 AND t.prod_type_3 LIKE '%冰箱%' THEN 10
ELSE 9 END cate_id
结果:只有9和10,当cate_id 等于2,prod_type_3 包含冰箱的改为了10,其他都是9了
CASE
WHEN t.cate_id = 2 AND t.prod_type_3 LIKE '%冰箱%' THEN 10
WHEN t.cate_id = 2 AND t.prod_type_3 NOT LIKE '%冰箱%' THEN 9
ELSE cate_id END cate_id,
注意:END只是作为条件的结束语句,后面字段为别名,没有特殊含义
case tb1.os
when 'android' then ' android'
when 'ios' then 'iPhone'
else 'PC'
end as os
说明:case后写匹配列,最简单的用法,但是功能单一,只能转变单行
case
when tb1.os = 'android' and t1.bc = 'android' then 'android'
when tb1.os = 'ios' then 'iPhone'
else 'PC'
end as os
说明:case后不写匹配列,一个when后面可以跟多个不同行的条件
case
when t1.bc = 'android' then 'android'
when t1.os = 'android' then 'android'
when t1.os = 'ios' then 'iPhone'
end as os,
说明:case后不写匹配列,不同when后面可以跟多个不同行的条件
没有克服不了的困难,只有畏惧的心。 生活之所以耀眼,是因为磨难与辉煌会同时出现。所以,别畏惧暂时的困顿,即使无人鼓掌,也要全情投入,优雅坚持。请相信:不管多险峻的高山,总会给勇敢的人留一条攀登的路。只要你肯迈步,路就会在你脚下延伸。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。