IT技术随记

Hive SQL 问题总结分享

2018-09-28  本文已影响0人  一勺清水

问题:mismatched input 'as' expecting <EOF>(line 24, pos 13)

group by concat(from_unixtime(unix_timestamp(odr.pt,'yyyyMMdd'),'yyyy-MM-dd'),' 00:00:00'),

         nvl(dc.province_id, -99),

        CASE

            WHEN dc.province_name is null THEN nvl(dc.province_name, '未知')

            WHEN dc.province_name = '' THEN '未知'

        END as province_name,

-------------^^^

解决方法:去掉group by 语句后面的 as关键字


问题:字段为空null或""的处理方法

字符类型空字符分null和"",null通过is null进行判断,

  ""通过length()=0判断

解决方法:

select nvl(province_id, -99) as province_id, 

           CASE 

                 WHEN province_name is null   THEN '未知' 

                 WHEN length(province_name) = 0   THEN '未知' 

                 ELSE province_name 

           END as province_name,

..........

上一篇 下一篇

猜你喜欢

热点阅读