Type 4 JDBC ドライバ

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

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

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

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

   {extension}

エスケープ シーケンスは、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 は、Type 4 JDBC ドライバでサポートされるスカラー関数です (表 C-2 を参照)。

例 :

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

表 C-2 サポートされるスカラー関数
データ ストア
文字列
関数
数値
関数
日付時刻
関数
システム
関数
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

 


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

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 に、各データ ストア用の Type 4 JDBC ドライバでサポートされている外部結合のエスケープ シーケンスを示します。

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

 


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

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

{escape 'escape-character'}

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

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

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

 


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

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

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

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

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

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


  ページの先頭       前  次