Skip navigation.
Downloads | Product Documentation | Support

WebLogic Type 4 JDBC Drivers

# SQL Escape Sequences for JDBC

Language features, such as outer joins and scalar function calls, are commonly implemented by database systems. The syntax for these features is often database-specific, even when a standard syntax has been defined. JDBC defines escape sequences that contain standard syntaxes for the following language features:

- Date, time, and timestamp literals
- Scalar functions such as numeric, string, and data type conversion functions
- Outer joins
- Procedure calls

The escape sequence used by JDBC is:

>     {extension}

The escape sequence is recognized and parsed by the BEA WebLogic Type 4 JDBC drivers, which replace the escape sequences with data store-specific grammar.

# Date, Time, and Timestamp Escape Sequences

The escape sequence for date, time, and timestamp literals is:

>     {literal-type 'value'}

where literal-type is one of the following:

Table C-1 Literal Types for Date, Time, and Timestamp Escape Sequences

literal-type | Description | Value Format
--- | --- | ---
d | Date | `yyyy-mm-dd`
t | Time | `hh:mm:ss [1]`
ts | Timestamp | `yyyy-mm-dd hh:mm:ss[.f...]`

  Example:

>     UPDATE Orders SET OpenDate={d '1995-01-15'}
>     WHERE OrderID=1023

# Scalar Functions

You can use scalar functions in SQL statements with the following syntax:

>     {fn scalar-function}

where scalar-function is a scalar function supported by the BEA WebLogic Type 4 JDBC drivers, as listed in Table C-2.

  Example:

>     SELECT id, name FROM emp WHERE name LIKE {fn UCASE('Smith')}

Table C-2 Scalar Functions Supported

Data Store | String Functions | Numeric Functions | Timedate Functions | System Functions
--- | --- | --- | --- | ---
DB2 | ASCII BLOB CHAR CHR CLOB CONCAT DBCLOB DIFFERENCE GRAPHIC HEX INSERT LCASE or LOWER LCASE (SYSFUN schema) LEFT LENGTH LOCATE LONG_VARCHAR LONG_VARGRAPHIC LTRIM LTRIM (SYSFUN schema) POSSTR REPEAT REPLACE RIGHT RTRIM RTRIM (SYSFUN schema) | ABS or ABSVAL ACOS ASIN ATAN ATANH ATAN2 BIGINT CEILING or CEIL COS COSH COT DECIMAL DEGREES DIGITS DOUBLE EXP FLOAT FLOOR INTEGER LN LOG LOG10 MOD POWER RADIANS RAND REAL | DATE DAY DAYNAME DAYOFWEEK DAYOFYEAR DAYS HOUR JULIAN_DAY MICROSECOND MIDNIGHT_SECONDS MINUTE MONTH MONTHNAME QUARTER SECOND TIME TIMESTAMP TIMESTAMP_ISO TIMESTAMPDIFF WEEK YEAR | COALESCE DEREF DLCOMMENT DLLINKTYPE DLURLCOMPLETE DLURLPATH DLURLPATHONLY DLURLSCHEME DLURLSERVER DLVALUE EVENT_MON_STATE GENERATE_UNIQUE NODENUMBER NULLIF PARTITION RAISE_ERROR TABLE_NAME TABLE_SCHEMA TRANSLATE TYPE_ID TYPE_NAME TYPE_SCHEMA VALUE
DB2 (continued) | SOUNDEX SPACE SUBSTR TRUNCATE or TRUNC UCASE or UPPER VARCHAR VARGRAPHIC | ROUND SIGN SIN SINH SMALLINT SQRT TAN TANH TRUNCATE |  |
Informix | CONCAT LEFT LENGTH LTRIM REPLACE RTRIM SUBSTRING | ABS ACOS ASIN ATAN ATAN2 COS COT EXP FLOOR LOG LOG10 MOD PI POWER ROUND SIN SQRT TAN TRUNCATE | CURDATE CURTIME DAYOFMONTH DAYOFWEEK MONTH NOW TIMESTAMPADD TIMESTAMPDIFF YEAR | DATABASE USER
Oracle | ASCII BIT_LENGTH CHAR CONCAT INSERT LCASE LEFT LENGTH LOCATE LOCATE2 LTRIM OCTET_LENGTH REPEAT REPLACE RIGHT RTRIM SOUNDEX SPACE SUBSTRING UCASE | ABS ACOS ASIN ATAN ATAN2 CEILING COS COT EXP FLOOR LOG LOG10 MOD PI POWER ROUND SIGN SIN SQRT TAN TRUNCATE | CURDATE DAYNAME DAYOFMONTH DAYOFWEEK DAYOFYEAR HOUR MINUTE MONTH MONTHNAME NOW QUARTER SECOND WEEK YEAR | IFNULL USER
SQL Server | ASCII CHAR CONCAT DIFFERENCE INSERT LCASE LEFT LENGTH LOCATE LTRIM REPEAT REPLACE RIGHT RTRIM SOUNDEX SPACE SUBSTRING UCASE | ABS ACOS ASIN ATAN ATAN2 CEILING COS COT DEGREES EXP FLOOR LOG LOG10 MOD PI POWER RADIANS RAND ROUND SIGN SIN SQRT TAN TRUNCATE | DAYNAME DAYOFMONTH DAYOFWEEK DAYOFYEAR EXTRACT HOUR MINUTE MONTH MONTHNAME NOW QUARTER SECOND TIMESTAMPADD TIMESTAMPDIFF WEEK YEAR | DATABASE IFNULL USER
Sybase | ASCII CHAR CONCAT DIFFERENCE INSERT LCASE LEFT LENGTH LOCATE LTRIM REPEAT RIGHT RTRIM SOUNDEX SPACE SUBSTRING UCASE | ABS ACOS ASIN ATAN ATAN2 CEILING COS COT DEGREES EXP FLOOR LOG LOG10 MOD PI POWER RADIANS RAND ROUND SIGN SIN SQRT TAN | DAYNAME DAYOFMONTH DAYOFWEEK DAYOFYEAR HOUR MINUTE MONTH MONTHNAME NOW QUARTER SECOND TIMESTAMPADD TIMESTAMPDIFF WEEK YEAR | DATABASE IFNULL USER

# Outer Join Escape Sequences

JDBC supports the SQL92 left, right, and full outer join syntax. The escape sequence for outer joins is:

>     {oj outer-join}

where outer-join is:

>     table-reference {LEFT | RIGHT | FULL} OUTER JOIN

>     {table-reference | outer-join} ON search-condition

where:

table-reference is a database table name.

search-condition is the join condition you want to use for the tables.

  Example:

>     SELECT Customers.CustID, Customers.Name, Orders.OrderID, Orders.Status

>       FROM {oj Customers LEFT OUTER JOIN

>             Orders ON Customers.CustID=Orders.CustID}

>       WHERE Orders.Status='OPEN'

Table C-3 lists the outer join escape sequences supported by BEA WebLogic Type 4 JDBC drivers for each data store.

Table C-3 Outer Join Escape Sequences Supported

Data Store | Outer Join Escape Sequences
--- | ---
DB2 | Left outer joins Right outer joins Nested outer joins
Informix | Left outer joins Right outer joins Nested outer joins
Oracle | Left outer joins Right outer joins Nested outer joins
SQL Server | Left outer joins Right outer joins Full outer joins Nested outer joins
Sybase | Left outer joins Right outer joins Nested outer joins

# Procedure Call Escape Sequences

A procedure is an executable object stored in the data store. Generally, it is one or more SQL statements that have been precompiled. The escape sequence for calling a procedure is:

>     {[?=]call procedure-name[([parameter][,parameter]...)]}

where:

procedure-name specifies the name of a stored procedure.

parameter specifies a stored procedure parameter.

Note: For DB2, a schema name cannot be used when calling a stored procedure. Also, for DB2 v8.1 and v8.2 for Linux/UNIX/Windows, literal parameter values are supported for stored procedures. Other supported DB2 versions do not support literal parameter values for stored procedures.