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

Oracle日期格式转换问题:ISO转美国格式并去除时分秒

解决ISO日期转美国纯日期格式的问题

嘿,我来帮你搞定这个日期格式的问题!你现在遇到的情况是:虽然用Trunc(cast(to_timestamp(ATTRIBUTE_39,'yyyy-mm-dd"T"hh24:mi:ss.ff3"Z"')as date))把时间截断到了午夜,但输出还是带着12:00:00 AM,这是因为你最终得到的是date类型,数据库会用默认的日期时间格式来显示它——而date类型本身是包含时间信息的(哪怕是午夜)。

要得到纯4/11/2018这样的美国格式日期,你需要直接把ISO字符串转换成格式化后的字符串,而不是date类型。用TO_CHAR函数就能实现这个需求:

TO_CHAR(to_timestamp(ATTRIBUTE_39,'yyyy-mm-dd"T"hh24:mi:ss.ff3"Z"'), 'M/D/YYYY')

语句解释:

  • to_timestamp(ATTRIBUTE_39,'yyyy-mm-dd"T"hh24:mi:ss.ff3"Z"'):先把你的ISO格式字符串转换成数据库能识别的timestamp类型。
  • TO_CHAR(..., 'M/D/YYYY'):将timestamp格式化为美国风格的日期字符串——M表示一位或两位的月份(比如4而不是04),D表示一位或两位的日期,YYYY是四位年份,这样就完全去掉了时间部分。

如果你希望月份和日期固定显示两位(比如04/11/2018),只需要把格式字符串改成'MM/DD/YYYY'就行:

TO_CHAR(to_timestamp(ATTRIBUTE_39,'yyyy-mm-dd"T"hh24:mi:ss.ff3"Z"'), 'MM/DD/YYYY')

这样执行后,输出就会是你期望的纯日期格式啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 02:27:43