db2에서 DECIMAL 타입을 CHAR 타입으로 변환할 때 9.7부터 출력형태가 바뀌었습니다.
다음은 db2 인포센터를 보면 CHAR 함수에 대한 주석입니다.
Decimal to character and leading zeros: In versions previous to version 9.7, the result for decimal input to this function includes leading zeros and a trailing decimal character. The database configuration parameter dec_to_char_fmt can be set to "V95" to have this function return the version 9.5 result for decimal input. The default value of dec_to_char_fmt for new databases is "NEW", which has this function return results which match the SQL standard casting rules and is consistent with results from the VARCHAR function.
DECIMAL 타입에 자리수를 지정하고 CHAR 타입으로 변환할 때 9.7 이전에는 숫자 앞뒤로 0을 채웠으나
9.7부터는 0을 채우지 않는 것이 기본 설정으로 변경되었습니다. 관련 파라미터는 DEC_TO_CHAR_FMT 입니다.
인포센터의 예제를 옮겨보겠습니다.
- 예 1
- 다음 테이블 및 데이터를 작성한다고 가정하십시오.
다음 명령문을 발행하는 경우CREATE TABLE MY_TAB(C1 DEC(31,2) INSERT INTO MY_TAB VALUES 0.20, 0.02, 1.20, 333.44
이전 릴리스에서는 다음 결과 세트가 리턴됩니다.SELECT CHAR(C1)FROM MY_TAB
1--------------------------------- 00000000000000000000000000000.20 00000000000000000000000000000.02 00000000000000000000000000001.20 00000000000000000000000000333.44
버전 9.7에서는 다음 결과 세트가 리턴됩니다.1--------------------------------- .20 .02 1.20 333.44
- 예 2
- 다음 테이블 및 데이터를 작성한다고 가정하십시오.
다음 명령문을 발행하는 경우CREATE TABLE MY_TAB(C1 DEC(5,0)) INSERT INTO MY_TAB VALUES 1, 4.0 SELECT CHAR(C1)FROM MY_TAB
이전 릴리스에서는 다음 결과 세트가 리턴됩니다.SELECT CHAR(C1)FROM MY_TAB
1----- 0001. 0004.
버전 9.7에서는 다음 결과 세트가 리턴됩니다.1----- 14
참고:
CHAR scalar function -
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0000777.html
dec_to_char_fmt - 10진수를 문자 값으로 변환 함수 구성 매개변수 -
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.admin.config.doc/doc/r0054719.html
CHAR(decimal-expression) 스칼라 함수 리턴 동작 변경 -
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.wn.doc/doc/i0054264.html
'Db2 > Db2 reference' 카테고리의 다른 글
TABLE, INDEX 생성시 PCTFREE 값 설정 (0) | 2013.05.21 |
---|---|
Moving data using the CURSOR file type (0) | 2013.05.20 |
아카이브 로그 관리 (0) | 2012.08.24 |
Restoring a table space level backup with redirect (0) | 2012.08.12 |
db2pd 명령을 사용하여 모니터링 및 문제점 해결 (9.7) (0) | 2012.08.09 |