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

Oracle数据库datetime类型字段转YYYY-MM-DD日期格式的正确语法是什么

Oracle日期格式化查询正确写法

过往写法报错原因

  • 报错ORA-00904: "DATE_FORMAT": invalid identifier:DATE_FORMAT是MySQL专属函数,Oracle无该内置函数,因此无法识别。
  • 报错ORA-00918: column ambiguously defined:一是函数使用错误,TO_DATE的作用是将字符串转为日期类型,将日期转指定格式字符串需用TO_CHAR;二是查询结果别名和原字段名完全重名,Oracle解析时无法区分引用对象,产生歧义。
  • 报错org.apache.avro.SchemaParseException: Illegal character:查询链路中包含Avro schema校验,不支持函数返回值的默认命名,必须为计算列指定合法别名。

正确SQL语法

场景1:目标字段本身是DATE/DATETIME类型

直接用TO_CHAR转换即可,示例:

SELECT TO_CHAR(你的日期字段名, 'YYYY-MM-DD') AS 合法别名 FROM 你的表名;

实际用例:

SELECT TO_CHAR(register_time, 'YYYY-MM-DD') AS register_date FROM user_info;

场景2:目标字段是存储日期的字符串类型

需要先按原存储格式转成日期,再转成目标格式字符串,匹配你给出的1/31/2006 22:00:00 AM格式的写法如下:

SELECT TO_CHAR(TO_DATE(你的字符串字段名, 'MM/DD/YYYY HH12:MI:SS AM'), 'YYYY-MM-DD') AS 合法别名 FROM 你的表名;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 08:09:03