ไวยากรณ์ Escape ช่วยให้คุณมีความยืดหยุ่นในการใช้คุณลักษณะเฉพาะของฐานข้อมูลที่ไม่สามารถใช้ได้โดยใช้วิธีการและคุณสมบัติ JDBC มาตรฐาน
รูปแบบไวยากรณ์หลีกของ SQL ทั่วไปมีดังต่อไปนี้:
{keyword 'parameters'}
ต่อไปนี้คือรูปแบบ Escape ต่างๆ ใน JDBC:
d, t, ts คำสำคัญ: ช่วยระบุวันที่ เวลา และตัวอักษรประทับเวลา ดังที่คุณทราบ ไม่มี DBMS สองรายการที่แสดงเวลาและวันที่ในลักษณะเดียวกัน ไวยากรณ์ Escape นี้บอกให้ไดรเวอร์แสดงวันที่หรือเวลาในรูปแบบฐานข้อมูลเป้าหมาย
{d 'yyyy-mm-dd'}
โดยที่ ปปปป =ปี mm =เดือน dd =วันที่ การใช้ไวยากรณ์นี้ {d '2009-09-03'} คือ 9 มีนาคม 2009
ตัวอย่าง
//สร้างคำสั่ง objecttmt =conn.createStatement();//Insert data ==> ID, First Name, Last Name, DOBString sql="INSERT INTO STUDENTS VALUES" + "(100,'Zara',' อาลี' {d '2001-12-16'})";stmt.executeUpdate(sql);
หลีกเลี่ยงคำหลัก
คีย์เวิร์ดนี้ระบุอักขระหลีกที่ใช้ในส่วนคำสั่ง LIKE มีประโยชน์เมื่อใช้ % wildcard ของ SQL ซึ่งตรงกับศูนย์หรือมากกว่าอักขระ ตัวอย่างเช่น −
String sql ="เลือกสัญลักษณ์จาก MathSymbols โดยที่สัญลักษณ์ LIKE '\%' {escape '\'}";stmt.execute(sql);
หากคุณใช้อักขระแบ็กสแลช (\) เป็นอักขระหลีก คุณต้องใช้อักขระแบ็กสแลชสองตัวในตัวอักษร Java String ของคุณด้วย เนื่องจากแบ็กสแลชเป็นอักขระหลีก Java ด้วย
fn คำสำคัญ
คีย์เวิร์ดนี้แสดงถึงฟังก์ชันสเกลาร์ที่ใช้ใน DBMS ตัวอย่างเช่น คุณสามารถใช้ฟังก์ชัน SQL length เพื่อให้ได้ความยาวของสตริง −
{fn length('Hello World')}
ส่งคืน 11 ความยาวของสตริงอักขระ 'Hello World' เรียกคีย์เวิร์ด
คำสำคัญนี้ใช้เพื่อเรียกกระบวนงานที่เก็บไว้ ตัวอย่างเช่น สำหรับกระบวนงานที่เก็บไว้ที่ต้องใช้พารามิเตอร์ IN ให้ใช้ไวยากรณ์ต่อไปนี้ -
{call my_procedure(?)};
สำหรับขั้นตอนการจัดเก็บที่ต้องการพารามิเตอร์ IN และคืนค่าพารามิเตอร์ OUT ให้ใช้ไวยากรณ์ต่อไปนี้ -
<ก่อน>{? =โทร my_procedure(?)};คีย์เวิร์ด oj
คีย์เวิร์ดนี้ใช้เพื่อแสดงถึงการรวมภายนอก ไวยากรณ์มีดังนี้ −
{oj outer-join}
โดยที่ outer-join =ตาราง {LEFT|RIGHT|FULL} OUTERJOIN {table | outer-join} ในเงื่อนไขการค้นหา
String sql ="เลือกพนักงานจาก {oj ThisTable RIGHT OUTER JOIN ThatTable on id ='100'}";stmt.execute(sql);