sql - 데이터베이스 - 오라클의 'yy'와 'rr'날짜 마스크의 차이점은 무엇입니까?



sql developer download 32 bit (4)

@ 마이클 스텀

마지막으로 오라클 경험이 조금 있습니다.

2000 년 이전인가요? :피

...

yy는 항상 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 

/ mp

예:

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')

다른 결과를 내다


Answer #1

RR 또는 RRRR 정보 :

우리가 2 degits 년, 즉 09 / oct / 15의 날짜를 삽입 할 때
그러면 오라클은 세기를 자동으로 바꿀 수 있습니다. 따라서 Silitation은 4 자리 날짜입니다.하지만 4 degit 버전은 몇 가지 버전으로 제공됩니다. 이전 버전의이 문제에 대한 해결책은 RR 또는 RRR 이었지만 TO_DATE에서만 작동합니다 ) 함수는 사용하지만 TO_CHAR () 함수는 사용하지 않습니다.

날짜에 삽입 / 업데이트가 수행 될 때 오라클은 서버에 연락하여 모든 날짜 변환을 수행하기 때문에 날짜 변환과 관련하여 시계에서 실행중인 현재 날짜를 항상 명확히해야합니다.

수세기간에 일관성을 유지하려면 4 년 단위로 날짜 번역을하는 것이 항상 좋습니다.

YY 또는 YYY 정보 :

그것은 날짜를 받아들이지만 자동으로 변경하는 기능은 없습니다.

이 이미지는 두 개의 온도, 즉 09 / oct / 15의 날짜를 삽입 할 때의 동작을 보여줍니다.


Answer #2

RR은 네 자리를 1999 년 또는 2015 년으로 표시합니다 (49보다 작 으면 20 세기를 고려할 것입니다)






oracle