将字符时间更改为 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 中的日期? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章