TO_CHAR 형 변환 관련 문의 드려요 0 3 2,953

by 샤프하나 [Oracle 기초] TO_CHAR 형변환 [2012.01.16 18:40:22]


DATA 인터페이스 하는 작업에서
NUMBER 형식의 DATA를 CHAR형식으로 바꿔줘서 넘겨줘야 하는데
그 기준이 무조건 10자리로 넘겨줘야 합니다.
그래서 예를 들어

SELECT TO_CHAR(6666,'99999.9999')
FROM DUAL
이와 같이 넘겨줬는데

SELECT LENGTH(TO_CHAR(6666,'99999.9999'))
FROM DUAL

을 실행시키면 11이라는 결과값이 나오네요.

확인해본 결과 맨 앞자리에 빈공간으로 '  6666.0000'
한자리의 공간이 더 들어오는데
원래 TO_CHAR로 변환할때 위와 같은 옵션(99999.9999)을 주면 맨 앞에 빈자리가 하나 추가되서 결과가 나오나여?

by xer [2012.01.16 19:44:24]
네. 앞에 부호값으로 한자리가 추가됩니다.
없애고 싶다면 trim으로 없애면 됩니다.

by 샤프하나 [2012.01.17 08:15:16]
아.. 정말 그러네영.
'-' 연산자 붙이고 TEST한 결과 공백사라지고 부호 들어가는거 확인했습니다.
감사합니다. ^^

by 야신 [2012.01.27 16:56:02]
SELECT LENGTH(TO_CHAR(6666,'FM00000.0000'))
FROM DUAL
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입