例子:
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')
返回不同的结果
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位数输入,但不进行任何日期转换
YY允许您仅检索一年中的两位数字,例如1999年的99。其他数字(19)自动分配给当前世纪。RR通过四舍五入将两位数的年份转换为四位数的年份。
50-99存储为1950-1999,日期以00-49结尾的存储为2000-2049。RRRR接受四位数的输入(尽管不是必需的),并且与RR一样转换两位数的日期。YYYY接受4位数输入,但不进行任何日期转换
本质上,您的第一个示例将假设81是2081,而RR则假定是1981。因此,第一个示例不应返回任何行,因为您很可能在2081年5月1日之后尚未雇用任何人:-)