让决策更智能
新一代智能数据分析平台

srting格式的时间戳如何转换为timestamp格式

观小数发表于:2021年04月27日 16:52:48更新于:2022年04月28日 11:31:41

场景介绍:

数据库里存的时间格式为string格式,比如:20200905174444,想要转换为2020-09-05 17:44:44这样的timestamp格式。

0016087cdd9aa3a1a839dbde7bab599

解决方法:

先把该字段改成timestamp格式,然后再用DATE_FORMAT改成想要的格式,具体如下:

DATE_FORMAT(CAST(UNIX_TIMESTAMP([日期], 'yyyyMMddHHmmss') AS TIMESTAMP), 'yyyy-MM-dd HH:mm:ss')

image.png

0016087ce770cd9d7b80f9df737d370

结果如下:

image.png

0016087cec9e6783256fb8754d7729a


说明:

  1. 以上函数为spark语法,适用于非直连数据集,直连数据集需使用对应数据库的语法,比如oracle的语法为:to_date([日期],'yyyyMMddhh24:mi:ss');

  2. 格式选择“日期和时间”,选择“日期”的话,时分秒是不显示的;

  3. 如果格式为数值型,需先将字段转化为string格式。

    您需要登录后才可以回复