2011-10-06 1 views
7

은 고쳐 내가 지금처럼 날짜를 사용 주어진 :오라클의 "date '[yyyy-mm-dd]'"리터럴은 항상 yyyy-mm-dd 패턴을 사용합니까?

date'2010-04-10' 

는, 결과가 4 월 10 2010 (예를 들어, 10 월 4 일 2010) 아무것도하지만, 될 수 있을까?

업데이트 나는 당신, 그리고 문서가 말하는 것을 듣는다. 하지만 ...

하드 코딩 된 날짜 'yyyy-mm-dd': s 일괄 작업이 실행될 때 일부 (비 결정적) 계산에 실패합니다. PL/SQL Developer에서 실패한 SQL 문을 실행하면 은 결코과 같고 올바르지 않은 값을 산출합니다.

먼저, 날짜 리터럴이 to_date ('', '') 함수로 대체 된 동일한 계산 (수십만 개)을 실행하고 모든 것이 잘 작동했습니다.

그런 다음 NHibernate와 LINQ 공급자를 사용하여 손으로 만들어진 SQL을 모두 교체했습니다. ... 그리고 모든 것이 잘 작동했습니다 ... NHibernate는 시간 부분을 포함하여 날짜 리터럴을 생성합니다, BTW.

업데이트 내 동료가 우리 환경에서 오류를 재현 할 수있는 몇 가지 코드를 작성했습니다. 그는 오라클 포럼에서 그의 결과 (코드 포함)를 게시했습니다 : https://forums.oracle.com/forums/thread.jspa?threadID=2304569&tstart=0

업데이트 zerkms의 대답에 따라 제목이 변경되었습니다.

답변

13

기능은이 아니지만 날짜 리터럴은입니다. 그리고 예, 오라클 설정에 관계없이 항상 YYYY-MM-DD과 일치합니다.

+4

을 그리고 여러 가지 다른 DBMS에서 같은 방식으로 작동합니다 : 또는 다음 예에서와 같이, 오라클 날짜 값을 지정할 수 있습니다. –

관련 문제