エスケープ構文を使用すると、標準の JDBC メソッドとプロパティでは不可能なデータベース固有の機能を使用できます。
一般的な SQL エスケープ構文の形式は次のとおりです:
{keyword 'parameters'}
次に、JDBC のさまざまなエスケープ構文を示します:
d、t、ts キーワード:これらは、日付、時刻、およびタイムスタンプ リテラルを識別するのに役立ちます。ご存知のとおり、時刻と日付を同じ方法で表す DBMS は 2 つありません。このエスケープ構文は、ターゲット データベースの形式で日付または時刻を表示するようにドライバーに指示します
{d 'yyyy-mm-dd'}
yyyy = 年、mm = 月、dd = 日付。この構文を使用すると、{d '2009-09-03'} は 2009 年 3 月 9 日になります。
//Create a Statement object stmt = conn.createStatement(); //Insert data ==> ID, First Name, Last Name, DOB String sql="INSERT INTO STUDENTS VALUES" + "(100,'Zara','Ali', {d '2001-12-16'})"; stmt.executeUpdate(sql);
このキーワードは、LIKE 句で使用されるエスケープ文字を識別するために使用されます。これは、0 個以上の文字と一致する SQL ワイルドカード文字 % を使用する場合に便利です。たとえば、
String sql = "SELECT symbol FROM MathSymbols WHERE symbol LIKE '\%' {escape '\'}"; stmt.execute(sql);
バックスラッシュ文字 (\) をエスケープ文字として使用する場合、バックスラッシュは Java エスケープ文字でもあるため、Java 文字列リテラルでも 2 つのバックスラッシュ文字を使用する必要があります。
このキーワードは、DBMS で使用されるスカラー関数を表します。たとえば、SQL 関数 length を使用して、文字列 -
{fn length('Hello World')}# の長さを取得できます。 # #これは、文字列「Hello World」の長さである 11 を返します。 Call キーワードこのキーワードは、ストアド プロシージャを呼び出すために使用されます。たとえば、IN パラメータが必要なストアド プロシージャの場合は、次の構文 -
{call my_procedure(?)};を使用します。 IN パラメータが必要で OUT パラメータを返すストアド プロシージャの場合、次の構文 -
{? = call my_procedure(?)};# を使用します。 ##ojキーワード
{oj outer-join}
Where external-join = table {LEFT|RIGHT|FULL} OUTERJOIN {table | inner-join} on search-condition.
String sql = "SELECT Employees FROM {oj ThisTable RIGHT OUTER JOIN ThatTable on id = '100'}"; stmt.execute(sql);
以上がJDBC SQL エスケープ構文は何を意味しますか?説明してくださいの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。