Cú pháp escape cho phép dùng các tính năng riêng của database không có sẵn qua JDBC chuẩn.
Định dạng chung SQL escape syntax:
{keyword 'parameters'}
Các escape syntax trong JDBC:
d, t, ts Keywords: Xác định literal date, time, timestamp. Không hai DBMS nào biểu diễn thời gian/ngày giống nhau. Cú pháp escape này yêu cầu driver render date/time theo định dạng database đích.
{d 'yyyy-mm-dd'}
yyyy = năm, mm = tháng, dd = ngày. {d '2009-09-03'} là 3 tháng 9 năm 2009.
Ví dụ
// Tạo Statement object
stmt = conn.createStatement();
// Chèn dữ liệu ==> ID, First Name, Last Name, DOB
String sql = "INSERT INTO STUDENTS VALUES"
+ "(100,'Zara','Ali', {d '2001-12-16'})";
stmt.executeUpdate(sql);
escape Keyword
Xác định ký tự escape dùng trong mệnh đề LIKE. Hữu ích khi dùng wildcard % (khớp 0 hoặc nhiều ký tự). Ví dụ:
String sql = "SELECT symbol FROM MathSymbols WHERE symbol LIKE '\\%' {escape '\\'}";
stmt.execute(sql);
Nếu dùng backslash (\) làm escape char, cần dùng hai backslash trong Java String literal vì backslash cũng là escape char của Java.
fn Keyword
Đại diện cho scalar functions trong DBMS. Ví dụ dùng hàm SQL length lấy độ dài chuỗi:
{fn length('Hello World')}
Trả về 11, độ dài chuỗi 'Hello World'.
call Keyword
Dùng gọi stored procedure. Ví dụ procedure cần IN parameter:
{call my_procedure(?)};
Procedure cần IN parameter và trả về OUT parameter:
{? = call my_procedure(?)};
oj Keyword
Dùng chỉ outer joins. Cú pháp:
{oj outer-join}
outer-join = table {LEFT|RIGHT|FULL} OUTER JOIN {table | outer-join} on search-condition.
String sql = "SELECT Employees FROM {oj ThisTable RIGHT OUTER JOIN ThatTable on id = '100'}";
stmt.execute(sql);