如何将以下字符串转换为日期或时间戳?
Posted
技术标签:
【中文标题】如何将以下字符串转换为日期或时间戳?【英文标题】:How to cast the following string to a date or timestamp? 【发布时间】:2021-10-31 07:23:10 【问题描述】:我在这样的表中有字符串:
2020-11-16 03:46:26.007+00
我正在尝试将这些转换为日期,以便从中提取日期(2020-11-16)。
SELECT date_parse(updatedat,'%Y-%m-%d %h:%i:%s.%f+%x') FROM table LIMIT 10
不幸的是它返回:0000-11-16 03:27:13.017
将此字符串转换为可以提取所需部分的日期或时间戳的正确方法是什么?
【问题讨论】:
【参考方案1】:该字符串遵循时间戳的规范格式,因此您应该能够将其转换为 timestamp
类型,然后转换为 date
:
> select cast(cast('2020-11-16 03:46:26.007+00' as timestamp) as date);
_col0
------------
2020-11-16
(1 row)
【讨论】:
以上是关于如何将以下字符串转换为日期或时间戳?的主要内容,如果未能解决你的问题,请参考以下文章