给定一个日期列的值为2020-05-01
,我想返回2020-Q2
,由于我们使用的是hive版本,QUARTER()
函数不可用。
我可以用以下方法得到季度数 (INT((MONTH(yyy_mm_dd)-1)/3)+1)
.当我尝试将其与YEAR()
函数和字符串结合起来时,我得到null
:
year(yyyy_mm_dd)+"-"+"Q"+(INT((MONTH(yyyy_mm_dd)-1)/3)+1) as time_frame
我怎样才能正确地连接这一点,以获得所需的null字符串?
使用这个查询。
select
yyyy_mm_dd,
year(yyyy_mm_dd)
|| '-Q'
|| INT((MONTH(yyyy_mm_dd)-1)/3) + 1 as time_frame
from
schema.table1
where
yyyy_mm_dd = '2019-01-01'
limit 1
抛出这个错误。
编译语句时出错:失败:parseexception第4:9行不能识别表达式规范中'|' ''-q'' '|'附近的输入。
2条答案
按热度按时间s71maibg1#
在hive中,你可以使用标准运算符
||
。q5iwbnjs2#
这样就可以了