Spark -将列的时间戳格式转换为其他格式

wpcxdonn  于 6个月前  发布在  Apache
关注(0)|答案(1)|浏览(45)

我有一个时间戳列,它可以是任何格式,如“dd-MM-yyyy hh:mm:ss.SSS”或“yyyy/MM/DD hh:mm:ss.SSS”。我需要将其转换为时间戳格式,如“yyyy-MM-dd hh:mm:ss.SSS”,以便我可以比较该时间戳是否在两个其他时间戳之间

4jb9z9bj

4jb9z9bj1#

select to_timestamp(datetime,  "yyyy-MM-dd hh:mm:ss.SSS") from
(
    select nvl(to_timestamp(datetime, "yyyy/MM/dd' 'HH:mm:ss.SSS"),to_timestamp(datetime, "dd-MM-yyyy' 'HH:mm:ss.SSS")) as datetime
    from
    (
     select "2017/08/01 02:25:59.000" as datetime
     union all
     select "01-08-2017 02:30:59.000" as datetime 
    ) a
) b;

字符串

相关问题