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

PostgreSQL中如何将Timestamp without Time Zone转换为简易日期?

问题分析与解决

你的操作没有将日期类型转换成指定格式的字符串,只是完成了timestamp到date的类型转换——但PostgreSQL会按默认格式展示date类型数据,所以你看到输出没变化。

核心问题

timestamp_date::date 和 DATE(timestamp_date) 仅改变了数据的存储类型,并没有修改其显示格式。你觉得"输出没变化",本质是客户端工具仍用默认规则展示日期类型,而非转换操作失效。

正确解法

要得到DD/MM/YYYY格式的结果,需要用TO_CHAR()函数对日期进行格式化:

SELECT TO_CHAR(timestamp_date, 'DD/MM/YYYY') AS formatted_date
FROM my_schema.my_table;

特殊情况补充

如果你的列实际存储的是字符串类型(而非真正的timestamp without time zone),需要先把字符串转成timestamp,再格式化:

SELECT TO_CHAR(TO_TIMESTAMP(timestamp_date, 'Dy Mon DD YYYY HH24:MI:SS "GMT"Z "(Coordinated Universal Time)"'), 'DD/MM/YYYY') AS formatted_date
FROM my_schema.my_table;

注意格式模板要和你存储的字符串样式完全匹配,才能确保转换成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 13:57:28