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

PostgreSQL现有数据日期格式转换:dd-mm-yyyy转yyyy-mm

PostgreSQL 将 dd-mm-yyyy 格式转换为 yyyy-mm 格式

处理方式分两种情况,取决于你的字段类型:

1. 字段为字符串类型(varchar/text)

如果存储的是dd-mm-yyyy格式的字符串,需要先转换为PostgreSQL原生日期类型,再格式化为yyyy-mm:

基础写法

SELECT to_char(to_date(your_column, 'DD-MM-YYYY'), 'YYYY-MM') AS formatted_month
FROM your_table;
  • to_date(your_column, 'DD-MM-YYYY'):按指定格式把字符串转成日期类型
  • to_char(..., 'YYYY-MM'):将日期格式化为目标年月字符串

处理无效日期(PostgreSQL 12+)

如果存在格式不合法的字符串,用TRY_TO_DATE避免报错(无效值会返回NULL):

SELECT to_char(TRY_TO_DATE(your_column, 'DD-MM-YYYY'), 'YYYY-MM') AS formatted_month
FROM your_table;

2. 字段为日期/时间类型(date/timestamp)

如果字段本身就是PostgreSQL的日期或时间类型,直接格式化即可:

SELECT to_char(your_column, 'YYYY-MM') AS formatted_month
FROM your_table;

也可以用date_trunc截断到月份后再格式化,结果一致:

SELECT to_char(date_trunc('month', your_column), 'YYYY-MM') AS formatted_month
FROM your_table;

内容的提问来源于stack exchange,提问作者MANOHAR N

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 11:54:28