반응형






우선 문자열을 날자(날짜)로 바꾸는 함수는 TO_DATE로 아래 문서를 참조 하십시오.



http://talkit.tistory.com/346



오늘 설명할 함수는 날짜나 숫자를 문자열로 바꾸는 함수이다.


기본적인 사용법은 



TO_CHAR(날자또는숫자[,형식]);



우선 숫자형일 때는 


9 : 숫자지만, 빈자리를 공백으로 채움.

0 : 숫자지만, 빈자리를 0으로 채움.

, : 천단위의 콤마 (외국의 경우 소수점 일 수 있음.)

. : 소숫점 (외국의 경우 천단위를 나타낼 수 있음.)


실제로 123456을 문자열로 치환해 보면,


SELECT TO_CHAR(123456,'999,999,999,999') FROM DUAL


이렇게 하시면 


123,456 이라는 결과를 얻을 수 있습니다.


숫자를 이용해서  PK등을 만들어야 할때 LPAD를 사용해도 되겠지만,


SELECT TO_CHAR(12345, '00000000') FROM DUAL


이렇게 하면


00012345 라는 결과를 얻을 수 있습니다.



이번에는 날짜를 문자열로 치환할때 사용하는 형식 입니다.


YYYY 년

RRRR 년

MM 월

DD 일

HH 시간(12시)

HH24 시간(24시)

MI 분

SS 초


의 형식을 이용해서 원하는 형식으로 치환 할 수 있습니다.


MEMBER Table의 REG_DT 라는 필드가 날짜 형일때 다음과 같이 사용할 수 있습니다.


SELECT TO_CHAR(REG_DT, 'YYYYMMDD HH24:MI:SS') FROM MEMBER;


2017010 09:09:09 식의 결과를 얻을 수 있습니다.



즐거운 한주 되십시오.



반응형
반응형


ORACLE(오라클)에는 날짜를 표시하는 형이 DATE 형 입니다. 


그런데, 문자열로도 날짜를 표시 합니다. 


이때 해당 날짜에서 몇일을 뺀다 든지, 몇일을 더한다든지 또는 몇시간을 빼려면 어떻게 해야할까요.


가장 좋은 방법은 DATE 형으로 바꿔서 DATE 연산을 하는 것이 최선이겠지요 ^^


그래서 사용하는 함수가 TO_DATE 입니다.


사용법은 


TO_DATE(문자열,날짜패턴) 


입니다.


여기서 문자열은 '20161010 11:11:11' 같은 문자로 된 년월일시분초 정보입니다.


날짜 패턴은


YYYY : 4자리 년도


MM : 2자리 월


DD : 2자리 일


HH24 : 24시간 단위 시간


MI : 분


SS : 초


등입니다. 


좀 더 상세 한 내용은 https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements004.htm#i170559 URL에서 확인 하실 수 있습니다. 



실제 위의 문자열을 TO_DATE로 DATE 형으로 변환해 보면 아래와 같습니다. 


SELECT TO_DATE('20161010 11:11:11' , 'YYYYMMDD HH24:MI:SS') FROM DUAL


로 하시면 됩니다.


MySQL STR_TO_DATE 함수는 http://talkit.tistory.com/268 을 참조 하시면 됩니다.


감사합니다.




반응형

+ Recent posts