当前位置:  开发笔记 > 编程语言 > 正文

oracle的'yy'和'rr'日期掩码有什么区别?

如何解决《oracle的'yy'和'rr'日期掩码有什么区别?》经验,为你挑选了2个好方法。

例:

select ename from emp where hiredate = todate('01/05/81','dd/mm/yy')

select ename from emp where hiredate = todate('01/05/81','dd/mm/rr')

返回不同的结果



1> Michael Stum..:

http://oracle.ittoolbox.com/groups/technical-functional/oracle-dev-l/difference-between-yyyy-and-rrrr-format-519525

YY允许您仅检索一年中的两位数,例如1999年的99位.其他数字(19)将自动分配到当前世纪.RR通过四舍五入将两位数年份转换为四位数年份.

50-99存储为1950-1999,以00-49结尾的日期存储为2000-2049.RRRR接受四位数输入(虽然不是必需的),并按RR转换两位数日期.YYYY接受4位数输入,但不进行任何日期转换

基本上,你的第一个例子假设81是2081而RR则假设1981.所以第一个例子不应该返回任何行,因为你很可能在2081年5月1日之后没有聘请任何人:-)



2> mauriciopast..:

@ Michael Stum

我的上一次Oracle体验是很久以前的事了

嗯,是吗,在2000年之前?:p

...

你会永远假设19xx吗?

根据您的来源,我们得到以下场景:

USING
ENTERED
STORED
SELECT of date column


YY
22-FEB-01
22-FEB-1901
22-FEB-01


YYYY
22-FEB-01
22-FEB-0001
22-FEB-0001


RR
22-FEB-01
22-FEB-2001
22-FEB-01


RRRR
22-FEB-01
22-FEB-2001
22-FEB-2001 

/ MP

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有