You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PostgreSQL中格式化日期列数据为无分隔符格式

解决方案

使用PostgreSQL内置的to_char()函数可以直接将timestamp类型格式化为你需要的无横杠日期字符串,无需先转成varchar再处理。

修改后的查询语句:

SELECT to_char(t.date, 'YYYYMMDD')
FROM   generate_series(timestamp '2020-02-27'
                     , timestamp '2020-03-01'
                     , interval  '1 day') AS t(date);

说明

  • to_char()是PostgreSQL专门用于格式化日期、时间和数值的函数,第一个参数是要格式化的时间值,第二个参数是格式模板:
    • YYYY:4位年份
    • MM:2位月份(不足两位补0)
    • DD:2位日期(不足两位补0)
  • 这种方式比先转varchar再处理的效率更高,也更符合SQL最佳实践,避免字符串操作带来的潜在问题。

如果一定要基于原有varchar转换结果做处理(不推荐),也可以用replace()和left()组合实现:

SELECT left(replace(t.date::varchar, '-', ''), 8)
FROM   generate_series(timestamp '2020-02-27'
                     , timestamp '2020-03-01'
                     , interval  '1 day') AS t(date);

内容的提问来源于stack exchange,提问作者Mohit Singla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 05:50:28