ホームページ >データベース >Oracle >オラクルエスケープ文字とは何ですか?

オラクルエスケープ文字とは何ですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-07-16 12:01:399060ブラウズ

Oracle エスケープ文字には次のものが含まれます: 1. 単一引用符 (文字列を引用したり、それ自体をエスケープしたりできます)、2. 二重引用符 (不正な形式の文字をラップします)、3. および記号 (2 つのエスケープ文字を接続します)、Self、4. . エスケープ。特殊記号以外の記号をエスケープ文字として指定します。

オラクルエスケープ文字とは何ですか?

#Oracle エスケープ文字は次のとおりです:

1、一重引用符

ORACLE では、一重引用符には 2 つの機能があります: 1) 文字列を引用する、2) それ自体をエスケープする。

文字列を引用する場合、単一引用符はペアで使用され、それ自体のエスケープは偶数である必要があるため、SQL ステートメントでは単一引用符はペアで使用する必要があります。

Select 'abc' a,'' b, '''' c, ' '' ' d From Dual;

複合エスケープ理解しやすいように、コネクタ || を使用して文字列を分割できます。接続記号 '||' を囲む一重引用符は、'||' が文字列の一部でない限り (これは動的 SQL で非常に一般的です)、まったく関係がありません。

Select 'name' || '''''' a, 'name''''' b From Dual;
Output:name''  name''

2、二重引用符

1) 一般に、文字列内の二重引用符は通常の文字としてのみ扱われます。

現時点では、二重引用符をペアで使用する必要はありません:

Select 'hh24"小时""mi""分"""ss"秒"' Results From Dual;
Output:hh24"小时""mi""分"""ss"秒"

2)

to_char の書式文字列に使用する場合、二重引用符には特別な効果があります。 , これは、「ORA-01821: 日付形式が認識されません」エラーを回避するために、不正な形式の文字をラップするためです。

つまり、二重引用符とそれに含まれる文字を削除すると、残るのは正当な書式文字列になります。

to_char形式文字列の処理時に二重引用符は無視されます:

Select To_Char(Sysdate, 'hh24"小时"mi"分"ss"秒"') As "当前时间/时分秒"  From Dual;
Output:09小时05分08秒 --别名中也有此应用

形式文字列は 'hh24"hour"mi"minute"ss"second"' です;

二重引用符を削除すると、有効な書式文字列である「hh24miss」が残ります。

ただし、二重引用符の使い方がよくわからない場合でも、少し面倒ではありますが、次のように処理できます。

Select To_Char(Sysdate, 'hh24') || '小时' || To_Char(Sysdate, 'mi') || '分' || To_Char(Sysdate, 'ss') || '秒' As Result From Dual;
Output:09小时05分08秒

3,& (および記号)

はカスタム変数の識別/設定に使用され、その後に変数名が続きます。文字として使用する必要がある場合は、

Chr(38)# を使用する必要があります。 ##、または 2 つの連続する &&(置換 (それ自体を定義)<pre class="brush:php;toolbar:false">Select Chr(38) a, &amp;#39;Tom&amp;&amp;Jerry&amp;#39; b, &amp;#39;Gun &amp;#39;&amp;#39;N Roses&amp;#39; c From Dual; Output:&amp; Tom&amp;Jerry Gun &amp;#39;N Roses</pre>

4、Escape (エスケープ文字を指定)

非エスケープ文字としての特殊記号。主にワイルドカード エスケープに使用されます

Select Table_Name From User_Tables Where Table_Name Like &#39;TB=_%=_%&#39; Escape &#39;=&#39;;
Output:TB_STUDENT_SCORE--筛选以TB开头,中间有两个_的表名

関連学習の推奨事項:
Oracle データベース学習チュートリアル

以上がオラクルエスケープ文字とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。