gpt4 book ai didi

sql - TO_DATE ('21-09-1989' ,'DD-MM-YY' ) 和 TO_DATE ('21-09-89' ,'DD-MM-YY' ) 有什么区别?

转载 作者:行者123 更新时间:2023-12-03 18:40:14 27 4
gpt4 key购买 nike

下面的查询返回结果:

SELECT * 
FROM EMPLOYEES
WHERE HIRE_DATE = TO_DATE('21-09-1989','DD-MM-YY');

好像我将日期从 21-09-1989 更改为 21-09-89 什么都不返回。
SELECT * 
FROM EMPLOYEES
WHERE HIRE_DATE = TO_DATE('21-09-89','DD-MM-YY');

这里有什么问题?

最佳答案

如果您使用 YY 作为年份,则它返回当前世纪的年份,即 2000-2099 。在你的情况下 -- 2089
如果您使用 YYYY,则返回确切的年份。 - 在你的情况下 1989
如果您使用 RR,则返回 1950-2049 之间的年份。 - 在你的情况下 1989
所以

TO_DATE('21-09-1989','DD-MM-YY') --> 21-09-1989
-- oracle is smart to detect the given format as YYYY

TO_DATE('21-09-89','DD-MM-YY') --> 21-09-2089
-- as 2089 is between 2000-2099

TO_DATE('21-09-89','DD-MM-RR') --> 21-09-1989
-- as 1989 is between 1950-2049

关于sql - TO_DATE ('21-09-1989' ,'DD-MM-YY' ) 和 TO_DATE ('21-09-89' ,'DD-MM-YY' ) 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61167737/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com