FAQ
varchar, char 타입 비교
분류 운영/관리 등록일 2013-07-09 조회수 2337
okseop7 2004-03-09 75


varchar, char 타입 비교
+++++++++++++++++++++++++++++++++++++++
iSQL> create table dual (X char(1));
Create success.
iSQL> insert into dual values ('x');
1 row inserted.
iSQL> select 1 from dual;
1
--------------
1
1 row selected.
iSQL> select 1 from dual where char'a ' = char'a ';
1
--------------
1
1 row selected.
iSQL> select 1 from dual where varchar'a ' = varchar'a ';
1
--------------
No rows selected.
iSQL> select 1 from dual where varchar'a' = char'a ';
1
--------------
No rows selected.
iSQL> select 1 from dual where varchar'a' = char'a';
1
--------------
1
1 row selected.
iSQL> select 1 from dual where varchar'a ' = char'a ';
1
--------------
1
1 row selected.


요약
++++
char type 인 경우 비교시 length가 큰쪽을 기준으로 0x20이 더해져서 비교되고
char , varchar의 비교시 varchar의 유효 데이타 (0x00의 위치) 기준으로
비교됨을 보여주는 예
가끔 SESC 코딩시 변수를 varchar의 경우는 0x00으로 초기화 하고 char의 경우는
0x20으로 초기하는 경우가 있는데 위의 규칙이 있으므로 0x00으로 초기화하는 것이
좋은듯.

목록