RR 日期格式的算法和实例

RR 日期格式的算法和实例:

(1)如果当前年份的最后两位数(即不包括世纪)为0~49,并且指定的年份的最后两位数也为0~49,则返回的日期在本世纪。(例如:当前年份为2002年,指明的日期是01-OCT-08,RR日期格式返回的日期为:2008年10月1日。而YY日期格式返回的日期也为:2008年10月1日。)

(2)如果当前年份的最后两位数(即不包括世纪)为0~49,并且指定的年份的最后两位数为50~99,则返回的日期为上一世纪。(例如:当前年份为2002年,指明的日期是01-OCT-98,RR日期格式返回的日期为:1998年10月1日。而YY日期格式返回的日期则为:2098年10月1日。这也许就是我们所说的两千年问题。)

(3)如果当前年份的最后两位数(即不包括世纪)为50~99,并且指定的年份的最后两位数为0~49,则返回的日期为下一世纪。(例如:当前年份为1999年,指明的日期是01-OCT-08,RR日期格式返回的日期为:2008年10月1日。而YY日期格式返回的日期则为:1908年10月1日。)

(4)如果当前年份的最后两位数(即不包括世纪)为50~99,并且指定的年份的最后两位数也为50~99,则返回的日期在本世纪。(例如:当前年份为1999年,指明的日期是01-OCT-98,RR日期格式返回的日期为:1998年10月1日。而YY日期格式返回的口期也为:1998年10月1日。)

SOL> SELECT ename "Name",job,sal AS "Salary",hiredate

2 FROM emp

3 WHERE hiredate BETWEEN '01-Jan-81' AND '31-Dec-81'

4 ORDER BY hiredate;

例4-52结果

Name Salary HIREDATE JOB

ALLEN 1600 20-FEB-81 SALESMAN

如果您的数据库为中文,可以将例4-52的查询语句修改成例4-53的查询语句。例4-53

SQL> SELECT ename "Name",job,sal AS "Salary",hiredate

2 FROM emp

3 WHERE hiredate BETWEEN 101-1月-81' AND 31-12月-81'

4 ORDER BY hiredate;

例4-53结果

Name JOB Salary HIREDATE

ALLEN SALESMAN 1600 20-2月-81

注意:

请读者尽量避免使用两位数来表示年份,即尽量把年份写全了(要用2002不要用02,要用1998不要用98)。不要费了半天劲,省的钱还不够打瓶醋呢!我们生活在新旧世纪交替之际,不是我们高瞻远瞩而是不想自找麻烦。

猜你喜欢

转载自blog.csdn.net/m0_73505947/article/details/129661387
rr