如何从DATE提取小时,分钟和秒

dan*_*123 5 sql postgresql

我有以下查询:

select cast(max_bid_ts as TIMESTAMP) from my_table;
Run Code Online (Sandbox Code Playgroud)

我投了max_bid_ts因为是双打,我想成为一个TMESTAMP。该查询返回类似这样的内容

2016-04-21 12:41:46.313999872
Run Code Online (Sandbox Code Playgroud)

我只想要小时:分钟:秒部分。在这种情况下将是12:41:46。最好的方法是什么?

cab*_*oad 7

尝试这样的事情:

select to_char(YourTimeStampField,'HH:MM:SS') from YourTable
Run Code Online (Sandbox Code Playgroud)

如果您想要24小时制,请尝试以下操作:

select to_char(YourTimeStampField,'HH24:MM:SS') from YourTable
Run Code Online (Sandbox Code Playgroud)

另一种方法是:

select YourTimeStampField::time from YourTable
Run Code Online (Sandbox Code Playgroud)

  • 在 PostgreSQL 中,您可以使用:`select to_char(YourTimeStampField,'HH24:MI:SS') from YourTable`。将“HH24:MM:SS”更改为“HH24:MI:SS”。享受! (4认同)
  • 事实上,请注意:在 Postgres 中,`MM` =“月份号 (01-12)”,而`MI`=“分钟 (00-59)”。[请参阅文档](https://www.postgresql.org/docs/9.6/functions-formatting.html#FUNCTIONS-FORMATTING-DATETIME-TABLE)。 (3认同)