2014-07-14 4 views
0

나는이 같은 갱생 날짜를 가지고있다 12/31/1999 12:00:00.000000 AM 이것을 121999으로 바꾸고 싶다. 기본적으로 하루는 생략하십시오. 달은 1 월 9 월 사이 인 경우타임 스탬프를 5-6 자리 숫자로 변환하는 방법은 무엇입니까?

, 숫자는 5 자리 (IE.21998), 12월부터 10월까지는 6 자리 (IE.102014)해야해야

I 작동 뭔가를하지만 모습 원시인. 더 좋은 방법이 있습니까? 사전

답변

0

에서

SELECT TO_NUMBER(SUBSTR(TO_CHAR(EX_DATE,'MMDDYYYY'),1,2)) 
      ||TO_NUMBER(SUBSTR(TO_CHAR(EX_DATE,'MMDDYYYY'),5)) AS EX_DATE 
    FROM TOL 

덕분에 난 당신이 수를 할 경우 5 또는 6 문자열 또는

SELECT to_number(to_char(ex_date, 'fmMMYYYY')) as ex_date 
    FROM tol 

을 원한다면 그냥

SELECT to_char(ex_date, 'fmMMYYYY') as ex_date 
    FROM tol 

을 원하는 생각합니다.

물론 문자열이나 숫자를 호출하는 것을 주저합니다. ex_date. 그리고 timestamp 유형의 열을 ex_date과 같은 형식으로 호출하면 데이터 유형이 실제로 date임을 알 수 있습니다. 데이터 유형을 올바르게 식별 할 수있는 문자 (예 : timestamp의 경우 ex_ts)를 사용하거나 데이터 유형을 열의 이름과 일치하도록 변경합니다.

관련 문제