标题可能有点难以理解,因此我将首先对其进行解释。
假设我的数据中有一列称为date
,这是integer
格式的20121013
。
我想以年,月,日格式输出数据。
我想知道查询方是否有办法拆分数据。
像这样:
select date[0:3] as year, date[4:5] as month, date[6:7] as day from blah blah;
如果无法做到这一点,我必须创建一个简单的解析器,以在配置单元外部进行处理,但我希望有办法。
谢谢!
最佳答案
如果它是一个整数,它将始终采用yyyyMMdd
格式,则只需执行以下操作:
select date / 10000 as year,
(date % 10000) / 100 as month,
date % 1000000 as day
from blah blah;
关于sql - 在Hive的查询端解析日期整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19282650/