将字符时间更改为 Postgres 中的日期? [关闭]

Posted

技术标签:

【中文标题】将字符时间更改为 Postgres 中的日期? [关闭]【英文标题】:Change a character Time of Day to a date in Postgres? [closed] 【发布时间】:2016-10-06 17:08:08 【问题描述】:

我需要在 Redshift/Postgres 中从字符日期(例如下午 3:30 到 15:30:00)中提取一天中的时间。所以,我需要从下午 3:30 到 15:30 到 15 点。

有人指点吗?谢谢

【问题讨论】:

extract(hour from cast(timeedt as time)) 如前所述,我也尝试过转换。 SQL 弹出错误或: INFO: Function ""date_part"(text,time without time zone)" not supported。信息:不支持函数“时间”(文本)”。错误:Redshift 表不支持指定的类型或函数(每条 INFO 消息一个)。 SQL状态:0A000 【参考方案1】:

将其转换为时间:

Select CAST('3:30 pm' as Time);

如果你只想要一个小时,那么

Select EXTRACT(HOUR FROM CAST('3:30 pm' as Time))

例子:

postgres=> Select EXTRACT(HOUR FROM CAST('3:30 pm' as Time));
 date_part
-----------
        15
(1 row)

【讨论】:

这在我输入日期值时有效,但由于某种原因,对于我要提取的列信息,它并没有这样做。信息:不支持函数“时间”(文本)”。错误:Redshift 表不支持指定的类型或函数(每条 INFO 消息一个)。 SQL状态:0A000 听起来 redshift 正在杀死查询,因为使用了其中一个函数。您可以在没有 EXTRACT 的情况下进行 CAST 并查看它是否可以通过?也许那时你可以把前两个字符去掉。

以上是关于将字符时间更改为 Postgres 中的日期? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

将 Python Pandas 中的列名从日期时间对象更改为字符串?

如何将字符串日期范围更改为开始和结束日期?

将日期更改为字符串格式

MySQL - 将日期字符串更改为日期类型?

Bigquery 中的错误日期格式从字符串更改为日期

将字符串更改为日期的问题