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

PostgreSQL 13.10日期格式化:如何获取仅YYYY-MM-DD格式日期

PostgreSQL 13.10 日期格式化问题解决方法

问题出在你将TO_CHAR生成的日期字符串又强制转换为timestamp类型,导致PostgreSQL自动解析回带时间部分的时间戳,最终输出包含时间信息。以下两种方法可以解决:

方法一:直接保留TO_CHAR的字符串结果

不需要将TO_CHAR的输出转换为timestamp,直接使用生成的文本格式即可:

SELECT DISTINCT
    m.id,
    TO_CHAR(m.date, 'YYYY-MM-DD') AS formatted_date
FROM "table".match m

TO_CHAR返回的是text类型,结果会直接显示为2012-12-02。

方法二:转换为date类型(适合需日期运算的场景)

如果需要字段保持日期类型而非字符串,可以直接将原始时间字段转换为date类型,PostgreSQL默认会以YYYY-MM-DD格式输出:

SELECT DISTINCT
    m.id,
    m.date::date AS formatted_date
FROM "table".match m

注意:如果使用GUI客户端仍显示带时间的格式,可能是客户端自身的显示设置问题,此时方法一的字符串输出更能保证格式符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 18:18:09