将字符串转换为日期,并在配置单元中同时显示日期和时间

5jdjgkvh  于 2021-06-25  发布在  Hive
关注(0)|答案(2)|浏览(344)

我需要转换字符串的日期时间(日期和时间在一起)。
我试试这个:

cast(to_date(from_unixtime(unix_timestamp('20190303164305', 'yyyyMMddHHmmss'))) as date) as date_data_chamada

时区:巴西
但这样只返回日期,比如:2019-03-03,我需要:2019-03-03 16:43:05
谢谢!
完整代码:

INSERT INTO p_b.este PARTITION (dt_originacao_fcdr)
SELECT
tp_registro_fcdr,
seq_registro_fcdr,
tp_cdr_fcdr,
dt_atendimento_fcdr,
data_atendimento_completa_fcdr,
cast(from_unixtime(unix_timestamp(data_atendimento_completa_fcdr, 'yyyyMMddHHmmss'),"yyyy-MM-dd HH:mm:ss")as timestamp) as date_data_atendimento_fcdr,
hr_atendimento_fcdr,
duracao_atend_fcdr,
hr_originacao_fcdr,
duracao_total_fcdr,
duracao_chamada_tarifada_fcdr,
st_chamada_fcdr,
fim_sel_orig_fcdr
FROM p_b.norm;
mftmpeh8

mftmpeh81#

将第二个参数格式字符串传递给 from_unixtime . 请注意,返回的类型是 string .

from_unixtime(unix_timestamp('20190303164305','yyyyMMddHHmmss'),'yyyy-MM-dd HH:mm:ss')
qf9go6mv

qf9go6mv2#

删除 date 铸造和 to_date 功能如您所期望的时间戳! Example:hive> select from_unixtime(unix_timestamp('20190303164305', 'yyyyMMddHHmmss'),"yyyy-MM-dd HH:mm:ss") as date_data_chamada;RESULT: ```
2019-03-03 16:43:05

如果你使用 `to_date` 或者 `cast('string' as date)` 只有Hive的结果 `date(yyyy-MM-dd)` !
前任:

hive> select to_date(from_unixtime(unix_timestamp('20190303164305', 'yyyyMMddHHmmss'),"yyyy-MM-dd HH:mm:ss")) as date_data_chamada;

--2019-03-03

相关问题