2011-12-03 4 views

답변

26

후 TO_CHAR를 사용하여 다른 문자열로 날짜, 즉 포맷 : 예를 들어

SELECT TO_CHAR(
     TO_DATE('15/August/2009,4:30 PM' 
       ,'DD/Month/YYYY,HH:MI AM') 
     ,'DD-MM-YYYY') 
FROM DUAL; 

15-08-2009 

을, 테이블 이름은 MYTABLE하고있는 경우

SELECT TO_CHAR(
     TO_DATE(MYDATESTRING 
       ,'DD/Month/YYYY,HH:MI AM') 
     ,'DD-MM-YYYY') 
FROM MYTABLE; 
+0

감사합니다. 나는 어떻게 substring 함수를 사용하여이 결과를 얻을 수 있었는지에 대한 연구를했다. 하지만 당신의 대답은 제가 사용했던 것보다 더 간단합니다. 고맙습니다. 내 SQL 문은 crm_claim_int_details_view에서 select to_date (substr (CRM_ACC_DATE_TIME, 1, instr (CRM_ACC_DATE_TIME, ',') - 1), 'dd-mm-yyyy' – leelavinodh

+0

네, 보통 한 가지 방법으로 고양이를 피하십시오. :) –

7

TO_DATE 기능을 사용해야합니다.

SELECT TO_DATE('01/01/2004', 'MM/DD/YYYY') FROM DUAL; 
당신은 TO_DATE 함수를 사용하여 문자열을 날짜로 변환 할 수 있습니다
+1

난이 오류 MSG ORA-01858를 얻고있다 : VARCHAR2 열은 MYDATESTRING있는 숫자가 예상 된 위치 숫자가 아닌 문자가 발견 된 ORA-02063 : GENCONAIMSUA에서 라인을 이전 T 01858. 00000 - 숫자가 예상되는 곳에서 숫자가 아닌 문자가 발견되었습니다. " * 원인 : 날짜 형식 모델을 사용하여 변환 할 입력 데이터가 올바르지 않습니다. 입력 데이터에 숫자 형식이없는 숫자 인 이 포함되어 있지 않습니다. * 조치 : 입력 데이터 또는 날짜 형식 모델을 수정하여 요소의 수가 일치하고 유형이 일치하는지 확인하십시오. 그런 다음 작업을 다시 시도하십시오. – leelavinodh

관련 문제