728x90
반응형
Ibatis에서 Like 사용법이 DB마다 달라 혼동하는 경우가 생깁니다.
SELECT * FROM tbl_name WHERE column_name LIKE "%$username$%"
SELECT * FROM tbl_name WHERE column_name LIKE '%' || #username# || '%'
SELECT * FROM tbl_name WHERE column_name LIKE '%' + #username# + '%'
여기서 변수명을 #로 둘러싸는 것과 $로 둘러싸는것의 차이점
#의 경우에는 Prepare Statement로 등록이 되어 디버그를 찍어봐도 ?로 치환된 이후 값이 대입됩니다.
하지만 $의 경우 바로 값이 치환됩니다.
다시말해 MySQL은 $username$에 바로 값이 대입되고,
나머지 두개 ORACLE과 SYBASE/SQL SERVER는 #username#이 ?로 치환된후 값이 대입된다.
$은 테이블을 생성할 때.. CREATE TABLE $tablename$( ... ) 쓰일 수 있습니다.
728x90
728x90
BIG
'Programming > SQL' 카테고리의 다른 글
Toad에서 DB Export 하기 (0) | 2011.12.23 |
---|---|
TOAD script 추출하기(Database Script, Schema Script) (0) | 2011.12.08 |
XDBA 무설치 서버 접속 클라이언트 (0) | 2011.09.21 |
오라클 클라이언트 설치하기 (0) | 2011.07.14 |
Pl/SQL Developer (34) | 2011.07.01 |
댓글