Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - プログラミング » SQL Anywhere データ・アクセス API » SQL Anywhere JDBC ドライバ

 

JDBC エスケープ構文の使用

JDBC エスケープ構文は、InteractiveSQL を含む JDBC アプリケーションで使用できます。エスケープ構文を使用して、使用しているデータベース管理システムとは関係なくストアド・プロシージャを呼び出すことができます。エスケープ構文の一般的な形式は次のようになります。

{{ keyword parameters }}

Interactive SQL では、大カッコ ({) は必ず二重にしてください。カッコの間にスペースを入れないでください。"{{" は使用できますが、"{ {" は使用できません。また、文中に改行文字を使用できません。ストアド・プロシージャは Interactive SQL で実行されないため、ストアド・プロシージャではエスケープ構文を使用できません。

エスケープ構文を使用して、JDBC ドライバによって実装される関数ライブラリにアクセスできます。このライブラリには、数値、文字列、時刻、日付、システム関数が含まれています。

たとえば、次のコマンドを実行すると、データベース管理システムの種類にかかわらず現在のユーザの名前を取得できます。

SELECT {{ FN USER() }}

使用できる関数は、使っている JDBC ドライバによって異なります。次の表は、iAnywhere JDBC と jConnect ドライバによってサポートされている関数のリストです。

iAnywhere JDBC ドライバがサポートする関数
数値関数 文字列関数 システム関数 日付/時刻関数
ABS ASCII IFNULL CURDATE
ACOS CHAR USERNAME CURTIME
ASIN CONCAT DAYNAME
ATAN DIFFERENCE DAYOFMONTH
ATAN2 INSERT DAYOFWEEK
CEILING LCASE DAYOFYEAR
COS LEFT HOUR
COT LENGTH MINUTE
DEGREES LOCATE MONTH
EXP LOCATE_2 MONTHNAME
FLOOR LTRIM NOW
LOG REPEAT QUARTER
LOG10 RIGHT SECOND
MOD RTRIM WEEK
PI SOUNDEX YEAR
POWER SPACE
RADIANS SUBSTRING
RAND UCASE
ROUND
SIGN
SIN
SQRT
TAN
TRUNCATE
jConnect がサポートする関数
数値関数 文字列関数 システム関数 日付/時刻関数
ABS ASCII DATABASE CURDATE
ACOS CHAR IFNULL CURTIME
ASIN CONCAT USER DAYNAME
ATAN DIFFERENCE CONVERT DAYOFMONTH
ATAN2 LCASE DAYOFWEEK
CEILING LENGTH HOUR
COS REPEAT MINUTE
COT RIGHT MONTH
DEGREES SOUNDEX MONTHNAME
EXP SPACE NOW
FLOOR SUBSTRING QUARTER
LOG UCASE SECOND
LOG10 TIMESTAMPADD
PI TIMESTAMPDIFF
POWER YEAR
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
TAN

エスケープ構文を使用している文は、SQL Anywhere、Adaptive Server Enterprise、Oracle、SQL Server、または接続されている他のデータベース管理システムで動作します。

たとえば、SQL エスケープ構文を使用して sa_db_info プロシージャを持つデータベース・プロパティを取得するには、InteractiveSQL で次のコマンドを実行します。

{{CALL sa_db_info( 0 ) }}