You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hive中unix_timestamp('2022-07-29')返回null的原因及解决咨询

Hive中unix_timestamp('yyyy-MM-dd')返回null的解决方法

问题原因

Hive的unix_timestamp()函数仅传入日期字符串时,默认会按yyyy-MM-dd HH:mm:ss格式解析。传入'2022-07-29'这类仅含日期的字符串时,因格式不匹配解析失败,返回null。而CURRENT_DATE是日期类型,函数会自动适配类型,所以能正常返回时间戳。

解决办法

有两种方式可获取正确时间戳:

  1. 指定日期格式参数
    调用unix_timestamp的双参数版本,明确传入日期字符串的格式:

    select unix_timestamp('2022-07-29', 'yyyy-MM-dd');
    

    该语句会按指定的yyyy-MM-dd格式解析字符串,返回2022-07-29 00:00:00对应的时间戳。

  2. 先将字符串转为日期类型
    用to_date()函数把字符串转成日期类型后,再传入unix_timestamp:

    select unix_timestamp(to_date('2022-07-29'));
    

    to_date()会识别'2022-07-29'为合法日期格式,转换后的日期类型可被unix_timestamp正确处理。

内容的提问来源于stack exchange,提问作者Sudeep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 13:45:54