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 UDB 8.1, literal parameter values are supported for stored procedures. Other supported DB2 versions do not support literal parameter values for stored procedures.