【问题标题】:snowflake convert string to timestamp雪花将字符串转换为时间戳
【发布时间】:2020-10-16 11:16:43
【问题描述】:

我有一个来自源数据的时间戳字符串值,我想将其转换为所需的格式。非常感谢任何关于将字符串转换为时间戳的想法。

String value of source data
'Fri Oct 16 03:27:06 PDT 2020'

I want above string to be converted into 
YYYY-MM-DD HH24:MI:SS

which should be like from the sample string shared
2020-10-16 03:27:06

As of now trying with below, but this sounds like not a good practice to have.

select to_timestamp(substr('Fri Oct 16 03:27:06 PDT 2020',5,15)||' '||substr('Fri Oct 16 03:27:06 PDT 2020',25),'MON DD HH24:MI:SS YYYY');

对实现预期输出的任何帮助都会很棒。谢谢!

【问题讨论】:

    标签: datetime timestamp snowflake-cloud-data-platform


    【解决方案1】:

    转换为时区后,可以任意格式显示:

    select to_varchar(  to_timestamp( 'Fri Oct 16 03:27:06 PDT 2020', 'DY MON DD HH24:MI:SS TZD YYYY') , 'YYYY-MM-DD HH24:MI:SS') ;
    

    干净版:

    SELECT to_varchar( column1, 'YYYY-MM-DD HH24:MI:SS') 
    FROM VALUES (to_timestamp( 'Fri Oct 16 03:27:06 PDT 2020', 'DY MON DD HH24:MI:SS TZD YYYY'));
    

    【讨论】:

    • 非常感谢 Gokhan.. 正是我正在寻找的.. 我刚刚在下面使用并得到了想要的结果“select to_timestamp('Fri Oct 16 03:43:33 PDT 2020','DY MON DD HH24:MI:SS TZD YYYY');"
    • 如果此答案对您有帮助,请花点时间“接受”答案,方法是单击答案旁边的复选标记,将其从“灰色”切换为“已填写”。
    • 为了补充 Gokhan 的答案,最近对 Snowflake 的 TRY_TO_TIMESTAMP 函数进行了更新,允许它接受可选的格式字符串。 TRY_TO_TIMESTAMP 优于 TO_TIMESTAMP 的好处是,如果转换失败,它会返回 NULL 而不是生成 SQL 错误——如果这是您更喜欢的行为。
    猜你喜欢
    • 2021-06-28
    • 2021-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多