oracle和配置单元时间戳

wz1wpwve  于 2021-06-29  发布在  Hive
关注(0)|答案(2)|浏览(317)

我有一个供应商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格式

eoxn13cs

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

n1bvdmb6

n1bvdmb62#

使用 to_date 在Hive里。
例子:

select TO_DATE(from_unixtime(UNIX_TIMESTAMP('7-MAR-13', 'd-MMMM-yy'))) from table_name

参考:日期函数

相关问题