【问题标题】:Convert String to Date Time Filed in Azure Data Bricks在 Azure Databricks 中将字符串转换为日期时间字段
【发布时间】:2021-11-22 21:14:13
【问题描述】:

我有以下文本字符串,表示来自应用程序的日期时间。

2021-11-22 下午 7:28:47

我需要将其转换为日期时间才能执行 DATE ADD 操作。

我尝试了很多方法都没有成功,它在 Azure Data Bricks 中给了我 null 。

select '2021-11-22 07:28:47 PM' as DateTime_String, 
    to_date('2021-11-22 07:28:47 PM', 'yyyy-M-dd HH:mm:ss:SS a') as Attempt_1  , 
    date_format(date ('2021-11-22 07:28:47 PM'), "yyyy-MM-dd HH:mm:ss:SS a") as Attempt_2,
    to_timestamp('2021-11-22 07:28:47 PM', 'yyyy-MM-dd HH:mm:ss.SSS a') as Attempt_3,
     to_timestamp('2021-11-22 07:28:47 PM', 'yyyy-MM-dd HH:mm:ss ') as Attempt_4

【问题讨论】:

    标签: azure apache-spark-sql azure-databricks spark-notebook


    【解决方案1】:

    您可以使用以下方法来满足您的要求。

    1. 将您的 字符串 转换为 unix 时间戳(以秒为单位)
    2. 从 unix 时间戳创建所需格式的日期时间列。

    代码和输出如下:

    select '2021-11-22 07:28:47 PM' as DateTime_String,unix_timestamp('2021-11-22 07:28:47 PM', 'yyyy-MM-dd hh:mm:ss aa') as unixtimestamp_value, from_unixtime(unix_timestamp('2021-11-22 07:28:47 PM', 'yyyy-MM-dd hh:mm:ss aa'),'yyyy-MM-dd HH:mm:ss')  as desired_format
    

    【讨论】:

    • 天才。 Spark sql - 我们必须爱上它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-13
    • 2022-01-23
    • 2013-06-09
    • 1970-01-01
    • 2021-04-29
    • 2022-08-18
    相关资源
    最近更新 更多