ホームページ  >  記事  >  データベース  >  JDBC SQL エスケープ構文は何を意味しますか?説明してください

JDBC SQL エスケープ構文は何を意味しますか?説明してください

PHPz
PHPz転載
2023-08-23 20:29:071075ブラウズ

JDBC SQL转义语法是什么意思?请解释一下

エスケープ構文を使用すると、標準の 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 つのバックスラッシュ文字を使用する必要があります。

fn キーワード

このキーワードは、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 サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。