将时间戳值从字符串转换为时间戳配置单元

时间:2017-04-18 11:24:11

标签: hive timestamp type-conversion unix-timestamp

我在hive中创建的表中将时间戳值存储为字符串,并希望将其转换为时间戳类型。

我尝试了以下代码:

select date_value, FROM_UNIXTIME(UNIX_TIMESTAMP(date_value, 'dd-MMM-YY HH.mm.ss')) from sales limit 2;

原始时间和结果如下:

   Original time              result

07-NOV-12 17.07.03      2012-01-01 17:07:03
25-FEB-13 04.26.53      2012-12-30 04:26:53

我的剧本出了什么问题?

1 个答案:

答案 0 :(得分:3)

yy而不是YY

select  date_value
       ,FROM_UNIXTIME(UNIX_TIMESTAMP(date_value, 'dd-MMM-yy HH.mm.ss'))  as ts

from    sales
;
+--------------------+---------------------+
|     date_value     |         ts          |
+--------------------+---------------------+
| 07-NOV-12 17.07.03 | 2012-11-07 17:07:03 |
| 25-FEB-13 04.26.53 | 2013-02-25 04:26:53 |
+--------------------+---------------------+