WebLogic Type 4 JDBC ドライバ ガイド

     前  次    新しいウィンドウで目次を開く   
ここから内容の開始

JDBC の SQL エスケープ シーケンス

外部結合やスカラー関数呼び出しなどの言語機能は、データベース システムによって実装されるのが一般的です。これらの機能の構文は、標準的な構文が定義されていても、データベースに固有の場合がよくあります。JDBC では、以下の言語機能の標準的な構文を含むエスケープ シーケンスが定義されています。

JDBC で使用されるエスケープ シーケンスは次のとおりです。

   {extension}

WebLogic Type 4 JDBC ドライバは、エスケープ シーケンスを認識して解析し、データ ストア固有の文法に置き換えます。

 


日付、時刻、およびタイムスタンプのエスケープ シーケンス

日付、時刻、およびタイムスタンプ リテラルのエスケープ シーケンスは次のとおりです。

   {literal-type 'value'}

literal-type は以下のいずれかです。

表 C-1 日付、時刻、およびタイムスタンプ エスケープ シーケンスのリテラル タイプ
リテラルのタイプ
説明
値の形式
d
日付
yyyy-mm-dd
t
時刻
hh:mm:ss [1]
ts
タイムスタンプ
yyyy-mm-dd hh:mm:ss[.f...]

例 :

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

 


スカラー関数

次の構文に従って、SQL 文でスカラー関数を使用できます。

   {fn scalar-function}

scalar-function は、WebLogic Type 4 JDBC ドライバでサポートされているスカラー関数です (表 C-2 を参照)。

例 :

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

表 C-2 サポートされているスカラー関数
データ ストア
文字列
関数
数値
関数
日付時刻
関数
システム
関数
DB2
ASCII
BLOB
CHAR
CHR
CLOB
CONCAT
DBCLOB
DIFFERENCE
GRAPHIC
HEX
INSERT
LCASE または LOWER
LCASE
(SYSFUN スキーマ)
LEFT
LENGTH
LOCATE
LONG_VARCHAR
LONG_VARGRAPHIC
LTRIM
LTRIM
(SYSFUN スキーマ)
POSSTR
REPEAT
REPLACE
RIGHT
RTRIM
RTRIM
(SYSFUN スキーマ)
ABS または
ABSVAL
ACOS
ASIN
ATAN
ATANH
ATAN2
BIGINT
CEILING
または CEIL
COS
COSH
COT
DECIMAL
DEGREES
DIGITS
DOUBLE
EXP
FLOAT
FLOOR
INTEGER
LN
LOG
LOG10
MOD
POWER
RADIANS
RAND
REAL
CURDATE
CURTIME
DATE
DAY
DAYNAME
DAYOFWEEK
DAYOFYEAR
DAYS
HOUR
JULIAN_DAY
MICROSECOND
MIDNIGHT_SECONDS
MINUTE
MONTH
MONTHNAME
NOW
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
(続き)
SOUNDEX
SPACE
SUBSTR
TRUNCATE または TRUNC
UCASE または 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

 


外部結合のエスケープ シーケンス

JDBC は、SQL92 の左、右、および完全外部結合の構文をサポートしています。外部結合で使用されるエスケープ シーケンスは次のとおりです。

   {oj outer-join}

outer-join は次のようになります。

   table-reference {LEFT | RIGHT | FULL} OUTER JOIN 
   {table-reference | outer-join} ON search-condition

各値の説明は次のとおりです。

   table-reference はデータベース テーブル名です。

   search-condition はテーブルに使用する結合条件です。

例 :

   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'

表 C-3 に、各データ ストア用の WebLogic Type 4 JDBC ドライバでサポートされている外部結合のエスケープ シーケンスを示します。

表 C-3 サポートされている外部結合のエスケープ シーケンス
データ ストア
外部結合のエスケープ シーケンス
DB2
左外部結合
右外部結合
ネストした外部結合
Informix
左外部結合
右外部結合
ネストした外部結合
Oracle
左外部結合
右外部結合
ネストした外部結合
SQL Server
左外部結合
右外部結合
完全外部結合
ネストした外部結合
Sybase
左外部結合
右外部結合
ネストした外部結合

 


LIKE 句で使用するワイルドカードのエスケープ文字のシーケンス

LIKE 句でワイルドカード文字 (たとえば % や _) をエスケープするために使用する文字を指定できます。エスケープ文字のエスケープ シーケンスは次のとおりです。

{escape 'escape-character'}

escape-character は、ワイルドカード文字をエスケープするために使用する文字です。

次に例を示します。次の SQL 文では、LIKE 句内で、ワイルドカード文字 % のエスケープ文字としてアスタリスク (*) を使用することを指定しています。

SELECT col1 FROM table1 WHERE col1 LIKE '*%%' {escape '*'}

 


プロシージャ呼び出しのエスケープ シーケンス

プロシージャは、データ ストアに格納されている実行可能なオブジェクトです。一般には、コンパイル済みの SQL 文です。プロシージャを呼び出すためのエスケープ シーケンスは次のとおりです。

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

各値の説明は次のとおりです。

   procedure-name は、ストアド プロシージャの名前です。

   parameter は、ストアド プロシージャのパラメータです。

注意 : Linux/UNIX/Windows 上の DB2 では、ストアド プロシージャを呼び出す際にカタログ名を使用することはできません。また、Linux/UNIX/Windows 用の DB2 v8.1 および v8.2 では、ストアド プロシージャにリテラルのパラメータ値を使用できます。サポートされるその他の DB2 バージョンでは、ストアド プロシージャにリテラルのパラメータ値を使用できません。

ページの先頭       前  次