JDBC 的 SQL 转义语法
转义语法使能够让你通过使用标准的 JDBC 方法和属性,来灵活的使用数据库的某些特定功能,而该特定功能对你来说本来是不可用的。常用的 SQL 转义语法格式如下所示:
{keyword 'parameters'}
escape 关键字
该关键字在 LIKE 子句中使用,来定义转义字符。当使用 SQL 通配符%,来匹配零个或多个字符时,该关键字就非常有用。例如-
String sql = "SELECT symbol FROM MathSymbols
WHERE symbol LIKE '\%' {escape '\'}";
stmt.execute(sql);
如使用反斜杠字符()作为转义字符,必须在 Java 字符串里使用两个反斜杠字符,因为反斜杠也是一个Java转义字符
fn 关键字
该关键字代表在数据库管理系统中使用标量函数。如可使用 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 } OUTER JOIN {表| outer - join }的搜索条件。例如-
String sql = "SELECT Employees
FROM {oj ThisTable RIGHT
OUTER JOIN ThatTable on id = '100'}";
stmt.execute(sql);