【发布时间】:2016-02-23 05:52:42
【问题描述】:
我使用的是 hive 版本 1.2.1。我是蜂巢的新手。
我在 TABLE_2 中添加了一列并显示 NULL 值。我想将时间戳列中的日期部分放入新创建的列。我尝试了以下查询:
ALTER TABLE table_2 ADD COLUMNS(DATE_COL string);
INSERT INTO table_2 (DATE_COL) AS SELECT SUBSTRING(TIMESTAMP_COL,-19,10) FROM table_1 ;
这仍然有效,但它仍然在新创建的 DATE_COL 中显示 NULL 值。 我只想在 DATE_COL 中约会。
table_1 有 13 列,table_2 有 14 列 (13 + DATE_COL)。
TIMESTAMP_COL :- 字符串。
DATE_COL - 字符串。
请告诉我如何解决这个问题。
【问题讨论】:
-
您是否正确使用了 substring(string|binary A, int start, int len) 函数?是什么让您使用起始索引 -19。您可以在 table_1 的 TIMESTAMP 列中分享示例记录吗?
-
@SachinGaikwad 我认为 sustring() 从最后一个值开始计数。 19 是总长度。因此,如果我说-19,则意味着它将从第一个开始。这就是我正在做的事情。如果您知道这背后的实际技术原因,请分享。
-
我建议首先使用具有相同功能的 select 子句运行此查询,并根据您的需要检查值是否为真,然后进行更新或插入。