在配置单元中命名案例结果

hwazgwia  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(434)

我对Hive很陌生。在case语句中,我试图创建一个名为period的变量,该变量在一个时间段内为零,在另一个时间段内为零,但我得到了一个“cannot recognize input”错误。如何命名配置单元中大小写表达式的结果?它将自己命名 _c7 或者类似的,但是我用这个有问题 _c7 下一步中的变量(eof错误)。

CREATE TABLE abc.temp2 AS 
            SELECT a.*,
case 
when to_date(date)>='2016-07-01' and to_date(date)<'2017-07-01' then 0 
when to_date(date)>='2017-07-01' and to_date(date)<'2018-07-01' then 1
else null 
end**as period,**
array_contains(z,'abc') as abc,
array_contains(z,'def') as def
FROM abc.temp a;
0ve6wy6x

0ve6wy6x1#

把枪放好 case 一组括号内的语句。

CREATE TABLE abc.temp2 AS 
            SELECT a.*,
(case 
when to_date(date)>='2016-07-01' and to_date(date)<'2017-07-01' then 0 
when to_date(date)>='2017-07-01' and to_date(date)<'2018-07-01' then 1
else null 
end) as period,
array_contains(z,'abc') as abc,
array_contains(z,'def') as def
FROM abc.temp a;

相关问题