我正在尝试构建一个以某种方式格式化时间的查询。
到目前为止,除了时间戳的分钟部分为 00 之外,我在所有情况下都有效。
我的目标是在分钟为 00 时省略分钟以及小时和分钟之间的时间段。
╔═══════════╗
║ StartTime ║
╠═══════════╣
║ 10:05 AM ║
╟───────────╢
║ 10:25 AM ║
╟───────────╢
║ 10:00 AM ║
╚═══════════╝
例如10:00 AM 变为 10 am,10:05 AM 变为 10.00 am。
这是我现在的查询:
to_char(timeslots.start_time, 'fmHH12.MI am') 作为开始时间
我已经完成了 PostgreSQL documentation on formatting但没有运气。
这可能吗?
如有任何帮助,我们将不胜感激!
最佳答案
简单的替换就可以了:
t=# with c(t) as (values(now()),(date_trunc('hour',now())))
select replace(to_char(t,'fmHH12:MI am'),':00 ',' ') from c;
replace
----------
12:29 pm
12 pm
(2 rows)
关于sql - 在 PostgreSQL 查询中从时间戳中省略 00 分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49277356/