例:
select ename from emp where hiredate = todate('01/05/81','dd/mm/yy')
Run Code Online (Sandbox Code Playgroud)
和
select ename from emp where hiredate = todate('01/05/81','dd/mm/rr')
Run Code Online (Sandbox Code Playgroud)
返回不同的结果
Mic*_*tum 38
YY允许您仅检索一年中的两位数,例如1999年的99位.其他数字(19)将自动分配到当前世纪.RR通过四舍五入将两位数年份转换为四位数年份.
50-99存储为1950-1999,以00-49结尾的日期存储为2000-2049.RRRR接受四位数输入(虽然不是必需的),并按RR转换两位数日期.YYYY接受4位数输入,但不进行任何日期转换
基本上,你的第一个例子假设81是2081而RR则假设1981.所以第一个例子不应该返回任何行,因为你很可能在2081年5月1日之后没有聘请任何人:-)
y2k 兼容性。rr 假设 01 为 2001,yy 假设 01 为 1901
见:http : //www.oradev.com/oracle_date_format.jsp
编辑:该死!michael "quickfinger" stum 击败了我!
/mp
我的上一次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
Run Code Online (Sandbox Code Playgroud)
/ MP
归档时间: |
|
查看次数: |
64869 次 |
最近记录: |