JDBC SQL 轉義語法詳解是什麼?


轉義語法使您可以靈活地使用資料庫特定功能,而這些功能無法透過使用標準 JDBC 方法和屬性來獲得。

一般的 SQL 轉義語法格式如下所示

{keyword 'parameters'}

以下是 JDBC 中的各種轉義語法

d、t、ts 關鍵字:它們有助於識別日期、時間和時間戳文字。眾所周知,不同的 DBMS 表示時間和日期的方式不同。此轉義語法告訴驅動程式以目標資料庫的格式呈現日期或時間

{d 'yyyy-mm-dd'}

其中 yyyy = 年,mm = 月;dd = 日。使用此語法 {d '2009-09-03'} 表示 2009 年 3 月 9 日。

示例

//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);

escape 關鍵字

此關鍵字標識在 LIKE 子句中使用的跳脫字元。在使用 SQL 萬用字元 % 時很有用,該萬用字元匹配零個或多個字元。例如 -

String sql = "SELECT symbol FROM MathSymbols WHERE symbol LIKE '\%' {escape '\'}";
stmt.execute(sql);

如果您使用反斜槓字元 (\) 作為跳脫字元,則在 Java 字串文字中也必須使用兩個反斜槓字元,因為反斜槓也是 Java 跳脫字元。

fn 關鍵字

此關鍵字表示在 DBMS 中使用的標量函式。例如,您可以使用 SQL 函式 length 獲取字串的長度 -

{fn length('Hello World')}

這將返回 11,即字元字串“Hello World”的長度。call 關鍵字

此關鍵字用於呼叫儲存過程。例如,對於需要 IN 引數的儲存過程,請使用以下語法 -

{call my_procedure(?)};

對於需要 IN 引數並返回 OUT 引數的儲存過程,請使用以下語法 -

{? = call my_procedure(?)};

oj 關鍵字

此關鍵字用於表示外連線。語法如下 -

{oj outer-join}

其中 outer-join = 表 {LEFT|RIGHT|FULL} OUTERJOIN {表 | outer-join} on 搜尋條件。

String sql = "SELECT Employees FROM {oj ThisTable RIGHT OUTER JOIN ThatTable on id = '100'}";
stmt.execute(sql);

更新於: 2019 年 7 月 30 日

2K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告