2014-09-20 4 views
0

Oracle SQL 함수 TO_DATE() 또는 TO_TIMESTAMP()의 범용 버전은 무엇입니까? 예를 들어Oracle TO_DATE() 함수 - 범용 버전은 무엇입니까?

간단한 테이블 : 오류없이 작동 오라클이

INSERT INTO SAMPLE 
(TRUE_DATE, CHAR_DATE) 
VALUES 
(TO_DATE('1990-01-01','YYYY-MM-DD'), TO_DATE('1990-01-01','YYYY-MM-DD')); 

같은 날짜에 작성 날짜 및 VARCHAR 필드

CREATE TABLE SAMPLE 
    (
     TRUE_DATE DATE, 
     CHAR_DATE VARCHAR2(10 CHAR) 
    ); 

같은 TO_DATE를 사용하여() 함수. 모든 데이터베이스 시스템에서 작동하도록 비슷한 동작을 사용하여 비슷한 것을 작성할 수 있습니까?

+5

보다 ANSI 리터럴을 지원하지만, 유니버설 버전이 아니지만 다른 데이터베이스에 대해 다른 쿼리를 작성하고 응용 프로그램에서 db flavor를 확인하고 해당 db에 대해 올바른 쿼리를 사용할 수 있습니다. – Mihai

+2

@Mihai : SQL 표준에 의해 정의 된 "범용"버전이 있습니다. Buf는 또 다른 질문 인 –

+0

의 모든 DBMS 지원이 'DATE'를 반환하는지 여부를 반환합니다. 'TO_TIMESTAMP'는 TIMESTAMP를 반환합니다. 이들은 서로 다른 데이터 유형입니다. –

답변

2

은 "보편적"버전은 SQL 표준에 의해 정의 된 날짜와 타임 스탬프 문자 형식이 될 것입니다 : date '2014-09-20' 또는

그러나 timestamp '2014-09-20 22:43:03' 모든 DBMS가 지원 - 더 DBMS가 to_date()

+0

나는 이것을 대답으로 받아 들일 것입니다. 이는 Oracle 및 DB2에서 작동합니다. 나는 그것을 시도했다. 감사. – shx