문제

Oracle에서 이것은 2010 년 3 월 1 일에 반환됩니다. 그것은 나에게 의미가 없습니다. 왜 그런지 아는 사람 있나요?

SELECT TO_DATE( '2010' ,'yyyy' ) AS STRANGE_YEAR_RESULT
FROM DUAL

나는 Oracle 10G와 11G에서 시도했습니다.

도움이 되었습니까?

해결책

Oracle은 날짜 유형 값 필드에 완전한 DateTime이 필요하므로 첫날이 필요합니다. 현재의 달, 나는 당신이 연도 외에 다른 정보가 필요하지 않기 때문에 추측 할 것입니다. Oracle에서 항상 to_date () 및 to_char () 날짜를 통해 캐스트해야합니다. 그렇게 가정하면, Oracle은 필요한 정보를 얻을 수 있다는 것을 "알고 있습니다".

다른 팁

나는 현명한 이유가 없다고 생각합니다. 그것은 단지 "그것이하는 일"입니다. 또한 논의되었습니다 OTN 포럼에서 약 1 년 전에.

모르지만, 내 추측은 몇 달이 0을 기반으로하므로 Jan = 0, 3 월 = 2 등입니다.

"10"은 제작에서 Y2K 문제 일 수 있지만 2010 년으로 해석되고 있습니다.

그리고 월의 날이 주어지지 않으면 아마도 월의 첫날을 가정 할 것입니다.

왜 이것을 테스트합니까? 당신은 이런 식으로 코딩하고 싶지 않을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top