JDBC规范(如ODBC)承认一些特殊的SQL卖主(vendor)可能需要相当的RDBMS特征的事实。为了帮助正在写跨越大量数据库产品的轻便型JDBC应用的开发者们,一种专门的escape语法被用来指定开发者们想要运行的一般命令。JDBC驱动程序为这种特殊的数据库把这些escape序列翻译成自然语法。详情请参考Sun? JRE 文档的4.1.5节JDBC Technology Guide和13.4节的JDBC3.0 specification.
这些escapes的sql statements分解可以通过使用Statement.setEscapeProcessing(false)来禁止。
Connection.nativeSQL(String sql)提供另一种处理escapes的方法,它把特定的SQL转成适合PostgreSQL? 后台的SQL
例8.1 使用JDBC溢出
为了使用JDBC溢出,你只需简单地用SQL代替date/time字面上的值,外连接和用JDBC溢出语法运行。例如:
ResultSet rs = st.executeQuery("SELECT {fn week({d '2005-01-24'})}");
是以下语句的简单版本:
ResultSet rs = st.executeQuery("SELECT extract(week from DATE '2005-01-24')");