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

PostgreSQL中如何从Order_date列提取月份名称?

解决PostgreSQL提取DD/MM/YYYY格式日期的月份名称问题

问题原因

你的order_date列存储的是字符串格式的日期(比如25/06/2021),属于**日/月/年(DD/MM/YYYY)**格式,但PostgreSQL默认的日期解析规则无法直接识别这种格式,所以直接用::date强制转换会触发"date/time field value out of range"错误。

正确解决方案

要提取月份名称,需要分两步处理:

  • 先用TO_DATE()函数指定格式,把字符串转成合法的日期类型
  • 再用TO_CHAR()函数将日期格式化为月份全称(比如December)

完整SQL语句

SELECT TO_CHAR(TO_DATE(order_date, 'DD/MM/YYYY'), 'FMMonth') AS month_name
FROM think_sales;

代码说明

  • TO_DATE(order_date, 'DD/MM/YYYY'):明确告诉PostgreSQL输入字符串的日期格式是日/月/年,完成字符串到日期类型的转换
  • TO_CHAR(..., 'FMMonth'):将日期转换为月份全称,FM前缀用于去除月份名称末尾的空格(比如默认输出June 会变成June)

内容的提问来源于stack exchange,提问作者Ahmed Thakaa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 13:11:13