我有一个供应商oracledb将值存储到列中 creation_timestamp
作为 timestamp(6)
当我创建该表的摘录并将其加载到hdfs并创建hive模式时,该列定义为 timestamp
它不填充字段。但是如果我使用 string
一切都在那里。我还有其他的mssql datetime
成功存储为 timestamp
所以我有点不确定为什么Oracle timestamp
数据未填充。
oracle timestmap如下所示: 07-JAN-15 05.55.20.732754000 PM
我有一种感觉,hive不喜欢文档中所述的月份: Strings: JDBC compliant java.sql.Timestamp format "YYYY-MM-DD HH:MM:SS.fffffffff" (9 decimal place precision)
如何将oracle时间戳(6):07-jan-15 05.55.20.732754000 pm转换为上面显示的java.sql.timestamp格式
2条答案
按热度按时间eoxn13cs1#
我可以更改会话,然后导出表,hive现在接受它作为
timestamp
ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF';07-JAN-15 05.55.20.732754000 PM
现在是:2015-01-07 17:55:20.732754000
n1bvdmb62#
使用
to_date
在Hive里。例子:
参考:日期函数