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. 박용훈
'2. DBMS이야기 > 01. PostgreSQL' 카테고리의 다른 글
[PostgreSQL Admin] 3.Server Configuration : Parameter 종류(Checkpoint&Archiving) (0) | 2014.08.09 |
---|---|
[PostgreSQL] postgresql.conf 파라미터 설정(8.0) (0) | 2014.08.08 |
[PostgreSQL] Configuration 기본튜닝 (0) | 2014.08.01 |
[Admin] 3.Server Configuration : Parameter 종류(Write Ahead Log) (0) | 2014.08.01 |
Postgres SQL과 Oracle의 Engine 비교 (0) | 2014.07.31 |