news 2026/9/2 22:45:27

oracle中dd/mm/yyyy和dd/mm/rrrrr有什么不一样

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
oracle中dd/mm/yyyy和dd/mm/rrrrr有什么不一样

在Oracle中,DD/MM/YYYYDD/MM/RRRR都用于日期格式,但它们在处理两位数年份时有重要区别:

主要区别

1.YYYY格式

-- 当前会话年份假设为2026年 SELECT TO_DATE('25/12/25', 'DD/MM/YYYY') FROM dual; -- 结果:2025-12-25 (假设当前世纪是2000) -- YYYY会简单地将"25"转换为2025

2.RRRR格式

SELECT TO_DATE('25/12/25', 'DD/MM/RRRR') FROM dual; -- 结果取决于当前年份

RRRR的智能转换规则

输入的2位年份

当前年份的世纪部分

转换结果

00-49

当前世纪的前半段

当前世纪

00-49

当前世纪的后半段

下个世纪

50-99

当前世纪的前半段

上个世纪

50-99

当前世纪的后半段

当前世纪

实际示例

假设当前日期是2026年(当前世纪是2000年代):

-- 示例1:输入"25" TO_DATE('25/12/25', 'DD/MM/YYYY') -- 2025-12-25 TO_DATE('25/12/25', 'DD/MM/RRRR') -- 2025-12-25 -- 示例2:输入"75" TO_DATE('25/12/75', 'DD/MM/YYYY') -- 2075-12-25 (错误!) TO_DATE('25/12/75', 'DD/MM/RRRR') -- 1975-12-25 (正确!)

何时使用哪种格式

  • 使用YYYY:当你知道输入的是4位年份,或想明确指定世纪

  • 使用RRRR:当处理用户输入的2位年份,特别是历史数据时

  • 最佳实践:尽量使用4位年份,避免歧义

建议

-- 明确的4位年份 TO_DATE('25/12/2025', 'DD/MM/YYYY') -- 如果需要处理混合的2位/4位年份,用RRRR TO_DATE('25/12/25', 'DD/MM/RRRR')

总之,RRRR格式是Oracle为了解决"千年虫"问题而引入的智能日期转换机制,它能更合理地推测2位年份所属的世纪。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 19:02:19

上海AI实验室ImgCoder:AI实现科学手绘图精准生成

这项由上海人工智能实验室联合上海交通大学、香港大学、北京大学等多家机构共同完成的研究,发表于2026年1月的arXiv预印本服务器(论文编号arXiv:2601.17027v1),为科学图像合成领域带来了重大突破。有兴趣深入了解的读者可以通过该…

作者头像 李华
网站建设 2026/8/31 13:00:14

腾讯突破:AI实现对话到电影的完整自动化制作

当你看到一部电影时,是否想过从剧本到银幕需要经历多少复杂的工作?导演需要将文字转换为视觉画面,摄影师要选择合适的镜头角度,演员要演绎角色情感,剪辑师要确保画面流畅连贯。现在,腾讯混元多模态团队与西…

作者头像 李华
网站建设 2026/8/29 12:44:44

Java毕设项目推荐-基于SpringBoot的都市轨道交通综合服务平台基于springboot的城市轨道交通安全管理系统【附源码+文档,调试定制服务】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/8/27 20:32:11

【阵列】低旁瓣稀疏同心环阵列优化Matlab实现

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 &#…

作者头像 李华