将字符串日期格式 MM/dd/yyyy HH:mm:ss.SSSS 转换为时间戳 presto

Convert string date format MM/dd/yyyy HH:mm:ss.SSSS to timestamp presto

我有一个看起来像这样的字符串:

2022-03-30 17:18:09.569000

我正在尝试将其转换为时间戳,如下所示:

select "date_parse"("date_format"('2022-03-30 17:18:09.569000', '%Y-%m-%dT%h:%iZ'), '%Y-%m-%dT%h:%iZ')

但我一直收到错误消息:

Unexpected parameters (varchar(26), varchar(15)) for function date_format. Expected: date_format(timestamp with time zone, varchar(x)) , date_format(timestamp, varchar(x))

您示例中的值与 SQL 中时间戳文字的格式相匹配,因此您只需将值转换为所需类型即可将其转换为 timestamp 类型:

> select cast('2022-03-30 17:18:09.569000' as timestamp(6));
           _col0
----------------------------
 2022-03-30 17:18:09.569000
(1 row)