2. DBMS이야기/01. PostgreSQL

PostgreSQL/ PPAS Char Type 바인드 변수 사용에 따른 상용제품 기능 비교

알 수 없는 사용자 2014. 8. 4. 11:18

Char Type의 컬럼에 바인드 변수에 따른 형변환 비교

 

 

<PostgreSQL/ PPAS> ==============================

create table zz_test001

(

    a char(10)

);

 

insert into zz_test001 values ('12345');

 

prepare v(char) as select * from zz_test001 where a=$1;

 

execute v('12345'); -- 결과값 조회됨

 

execute v('12345     '); -- 결과값 조회됨

 

==> 해당 결과는 동일하다.

 

 

 

<ORACLE> ========================================

 

create table zz_test001

(

    a char(10)

);

 

insert into zz_test001 values ('12345');

 

select * from zz_test001 where  a = :A

 

:A = '12345' -- 결과값 조회 안됨

 

:A = '12345     ' -- 결과값 조회됨

 

==> 해당 결과는 다르게 조회된다.

 

 

내부적으로 Char Type의 경우는 문자를 채우고 남는 자리는 모두 스페이스(공백)으로 저장이 된다.

하지만바이드 변수를 사용할 경우 ORACLE Postgresql/ PPAS의 차이점이 있으니 명확히 알고 사용 했으면 합니다.

 

by. 박용훈