Sql RR在oracle 10g的日期格式中代表什么?

Sql RR在oracle 10g的日期格式中代表什么?,sql,oracle,date,Sql,Oracle,Date,日期格式的旧版本是dd-mon-yy。在这种情况下,yy代表年份。但如果我们在oracle 10g中写入2014年8月31日,则完整日期格式为1914年8月31日 date的较新版本是dd-mon-rr。那么在这个日期格式中,rr代表什么呢?我知道它代表21世纪,但rr是什么意思?求你了,我想知道。我问了我的老师,但他们也不知道。引用Oracle文档: RR datetime format元素类似于YY datetime format元素,但它为在其他时间存储日期值提供了额外的灵活性。RR da

日期格式的旧版本是dd-mon-yy。在这种情况下,yy代表年份。但如果我们在oracle 10g中写入2014年8月31日,则完整日期格式为1914年8月31日


date的较新版本是dd-mon-rr。那么在这个日期格式中,rr代表什么呢?我知道它代表21世纪,但rr是什么意思?求你了,我想知道。我问了我的老师,但他们也不知道。

引用Oracle文档:

RR datetime format元素类似于YY datetime format元素,但它为在其他时间存储日期值提供了额外的灵活性。RR datetime format元素允许您通过仅指定年份的最后两位数字来存储21世纪的20世纪日期

资料来源:

因此,基本上它只允许您指定2个年份数字,Oracle将为您处理世纪。在文档中,您还可以找到这背后的逻辑。另一个用途是在查询中使用:

RR datetime format元素允许您编写SQL语句,这些语句将返回前两位不同年份的相同值

RR表示程序员太懒或无知,无法使用YYYY。真的

RR掩码是在九十年代末引入的,作为解决Y2K问题的一个难题。它的目的是帮助数据库程序员伪造输入数据,因为更改屏幕要耗费大量的人力。它将替换未输入日期的默认世纪。YY只是取代了本世纪。然而,在上个世纪的最后几年,这往往不是预期的:1999年,像01这样的两位数年份更有可能是未来两年,即2001年,而不是过去1901年的98年

这个背景很重要:它解释了为什么RR以2000年为中心。因此,RR在50-99之前加上19,00-49之前加上20。因此,RR将越来越多地默认为错误的世纪。它只被认为是遗留代码的权宜之计:没有理由在新的应用程序中使用它