Cú pháp thoát cung cấp cho bạn sự linh hoạt để sử dụng các tính năng cụ thể của cơ sở dữ liệu không có sẵn cho bạn bằng cách sử dụng các phương pháp và thuộc tính JDBC tiêu chuẩn.
Định dạng cú pháp thoát SQL chung như sau:
{keyword 'parameters'}
Sau đây là các cú pháp thoát khác nhau trong JDBC:
d, t, ts Từ khóa: Chúng giúp xác định ngày, giờ và các ký tự dấu thời gian. Như bạn đã biết, không có hai DBMS nào biểu thị thời gian và ngày tháng giống nhau. Cú pháp thoát này yêu cầu trình điều khiển hiển thị ngày hoặc giờ ở định dạng của cơ sở dữ liệu đích
{d 'yyyy-mm-dd'}
Trong đó yyyy =năm, mm =tháng; dd =ngày tháng. Sử dụng cú pháp này {d '2009-09-03'} là ngày 9 tháng 3 năm 2009.
Ví dụ
//Create a Statement object stmt = conn.createStatement(); //Insert data ==> ID, First Name, Last Name, DOB String sql="INSERT INTO STUDENTS VALUES" + "(100,'Zara','Ali', {d '2001-12-16'})"; stmt.executeUpdate(sql);
từ khóa thoát
Từ khóa này xác định ký tự thoát được sử dụng trong mệnh đề LIKE. Hữu ích khi sử dụng ký tự đại diện SQL%, ký tự này khớp với không hoặc nhiều ký tự. Ví dụ -
String sql = "SELECT symbol FROM MathSymbols WHERE symbol LIKE '\%' {escape '\'}"; stmt.execute(sql);
Nếu bạn sử dụng ký tự gạch chéo ngược (\) làm ký tự thoát, bạn cũng phải sử dụng hai ký tự gạch chéo ngược trong chuỗi ký tự Java của mình, vì dấu gạch chéo ngược cũng là ký tự thoát Java.
fn Từ khóa
Từ khóa này đại diện cho các hàm vô hướng được sử dụng trong DBMS. Ví dụ:bạn có thể sử dụng hàm SQL length để lấy độ dài của một chuỗi -
{fn length('Hello World')}
Điều này trả về 11, độ dài của chuỗi ký tự 'Hello World'. gọi từ khóa
Từ khóa này được sử dụng để gọi các thủ tục được lưu trữ. Ví dụ:đối với một thủ tục được lưu trữ yêu cầu tham số IN, hãy sử dụng cú pháp sau -
{call my_procedure(?)};
Đối với thủ tục được lưu trữ yêu cầu tham số IN và trả về tham số OUT, hãy sử dụng cú pháp sau -
{? = call my_procedure(?)};
oj Từ khóa
Từ khóa này được sử dụng để biểu thị các phép nối bên ngoài. Cú pháp như sau -
{oj outer-join}
Trường hợp ngoài tham gia =bảng {LEFT | RIGHT | FULL} OUTERJOIN {bảng | ngoài-tham gia} với điều kiện tìm kiếm.
String sql = "SELECT Employees FROM {oj ThisTable RIGHT OUTER JOIN ThatTable on id = '100'}"; stmt.execute(sql);