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

PostgreSQL:文本日期转DATE类型后仍显示时间部分问题求助

问题解答
  • 你执行的CAST(date1 AS DATE)其实已经把数据转换成PostgreSQL的DATE类型了,这个类型本身是没有时间部分的。你看到的YYYY-MM-DDT00:00:00.000格式,是查询工具(比如pgAdmin、DBeaver等)的默认日期显示规则,它自动给DATE类型补了时间后缀,不是数据本身还带时间。
  • 要是想强制输出YYYY-MM-DD的纯日期字符串格式,直接用to_char函数格式化即可,语句改成:
    SELECT to_char(CAST(date1 AS DATE), 'YYYY-MM-DD') AS date1 FROM tablename;
    
    也可以用PostgreSQL的简写语法,更简洁:
    SELECT to_char(date1::DATE, 'YYYY-MM-DD') AS date1 FROM tablename;
    
  • 要验证数据类型的话,可加pg_typeof函数确认:
    SELECT pg_typeof(CAST(date1 AS DATE)) AS data_type, CAST(date1 AS DATE) AS date1 FROM tablename;
    
    结果里data_type列会显示date,说明确实是DATE类型,显示的时间只是工具的默认渲染效果。

内容的提问来源于stack exchange,提问作者infinite-balloon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 20:27:06