JDBC Escapes
JDBC Escapes#
JDBC 스펙은 데이터베이스 제품들에 대해 벤더 특유의 SQL 문법을 JDBC 애플리케이션이 인식할 수 있도록 escape 문법을 제공한다. 즉, escape 문법이 포함된 SQL문에 대해서는 JDBC 드라이버가 자신의 데이터베이스에 맞는 SQL문으로 변환한다.
아래는 JDBC 스펙에서 지원하는 escape가 포함된 SQL문과 Altibase JDBC 드라이버가 이것을 Altibase용으로 변환한 SQL문을 정리한 표이다.
종류 |
JDBC 스펙에서 지원하는 SQL문 |
Altibase용으로 변환된 SQL문 |
---|---|---|
ESCAPE |
SELECT cVARCHAR FROM t1 WHERE cVARCHAR LIKE '%a|%b%' {escape '|'} |
SELECT cVARCHAR FROM t1 WHERE cVARCHAR LIKE '%a|%b%' escape '|' |
FN |
SELECT {fn concat('concat', 'test')} FROM dual |
SELECT concat('concat', 'test') FROM dual |
DTS |
UPDATE t1 SET cDATE = {d '1234-12-30'} |
UPDATE t1 SET cDATE = to_date('1234-12-30', 'yyyy-MM-dd') |
UPDATE t1 SET cDATE = {t '12:34:56'} |
UPDATE t1 SET cDATE = to_date('12:34:56', 'hh24:mi:ss') |
|
UPDATE t1 SET cDATE = {ts '2010-01-23 12:23:45'} |
UPDATE t1 SET cDATE = to_date('2010-01-23 12:23:45', 'yyyy-MM-dd hh24:mi:ss') |
|
UPDATE t1 SET cDATE = {ts '2010-11-29 23:01:23.971589'} |
UPDATE t1 SET cDATE = to_date('2010-11-29 23:01:23.971589', 'yyyy-MM-dd hh24:mi:ss.ff6') |
|
CALL |
{call p1()} |
execute p1() |
{? = call p2(?)} |
execute ? := p2(?) |
|
OJ |
SELECT * FROM {oj t1 LEFT OUTER JOIN t2 ON t1.cINT = t2.cINT} |
SELECT * FROM t1 LEFT OUTER JOIN t2 ON t1.cINT = t2.cINT |