目次
Oracle のエスケープ文字とは
ホームページ データベース Oracle Oracleのエスケープ文字とは何ですか

Oracleのエスケープ文字とは何ですか

Jan 25, 2022 pm 02:12 PM
oracle

Oracle のエスケープ文字: 1. 文字列を引用するかエスケープするために使用される一重引用符; 2. 不正な形式の文字をラップするために使用される二重引用符; 3. "&" つまり、and 記号は次の目的で使用されます。 2 つのエスケープ自体を接続する; 4. エスケープは、エスケープ文字として非特殊記号を指定するために使用されます。

Oracleのエスケープ文字とは何ですか

このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。

Oracle のエスケープ文字とは

1. Oracle の特殊文字エスケープ

キーワード: oracle エスケープ

#plsql で実行:

update userinfo set pageurl='myjsp?page=1&pagesize=10' where id='test'
ログイン後にコピー

この SQLこのステートメントは、URL アドレスをデータベースの pageurl フィールドに入力しますが、Oracle の特殊文字が含まれているため、実行時にはあまり理想的ではありません。エスケープする必要があります。つまり、文字 '&' です。

上記の例の特殊文字はどのように処理すればよいですか?

2 つの方法:

1) ユーザー情報を更新 setpageurl='myjsp?page=1'||'&'||'pagesize=10' where id='test'

2) ユーザー情報を更新 setpageurl='myjsp?page=1'||chr(38)||'pagesize=10' ここで id='test'

|| はハイフン、chr( 38 ) ASCII 文字トランスコーディングと一致しています。

plsql では、define off を設定して特殊文字をオフにすることもできます。また、show define を使用して特別に定義された文字を表示することもできます。

2. oracle で特殊文字をエスケープする方法

質問: アンダースコアをエスケープする方法_

select * from ng_values where name like 'lady_%'
ログイン後にコピー

jieguo 結果は、lady_test,lady_test,lady1

であることを示しています。正しい結果は次のようになります: lady_test, lady_test

lady1

を除くエスケープ メソッド、3ks

answer:

select ... from ... where ... like '/_%' escape '/';
ログイン後にコピー

3,

insert into t(col) values(chr(ascii('&'))) ;
ログイン後にコピー

(方法 1)

例: 特殊文字を挿入 '&'

SQL> SHOW DEFINE
define "&" (hex 26) ? <--- DEFINE的default值是 ‘&’
SQL> SET DEFINE OFF
SQL> SHOW DEFINE
define OFF
SQL> INSERT INTO <table_name> VALUES (&#39;AT&T&#39;);
ログイン後にコピー

/

1 行作成されました

(方法 2 )

SQL> SHOW ESCAPE
escape OFF <--- ESCAPE的default值是 OFF
SQL> SET ESCAPE ON
SQL> SHOW ESCAPE
escape "\" (hex 5c)
SQL> INSERT INTO temp_table VALUES (&#39;select * from emp where ename =\&1&#39;);
ログイン後にコピー

1 行が作成されました。

いくつかのテスト方法:

SELECT &#39;myjsp?page=1&pagesize=10&#39; FROM dual;
SELECT &#39;myjsp?page=1&pagesize=10&#39; FROM dual;
SQL>   create   table   a  (b   varchar2(10));  
Table   created  
SQL>   insert   into   a  values(&#39;_a&#39;);
ログイン後にコピー

1 行が挿入されました

SQL>   select   B   from  A   where   instr(b,&#39;_a&#39;)>0;  
B  
----------  
_a  
select   B   from   A  where   b   like   &#39;%\_a%&#39;  escape   &#39;\&#39;
ログイン後にコピー

最初に転送を開始します シンボル

setエスケープ on

select   B   from   A  where   b   like   &#39;%\_a%&#39;  escape   &#39;\&#39;;
select   B   from   A  where   b   like   &#39;%\_a%&#39;  escape   &#39;\&#39;;
ログイン後にコピー

二重引用符"はOracleではエスケープ文字ではないため、エスケープせずに直接保存できます。

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

1、一重引用符

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

文字列を引用する場合、一重引用符はペアで指定され、エスケープ文字自体も偶数である必要があるため、SQL ステートメントでは一重引用符はペアで指定する必要があります。複雑なエスケープ文字列は、理解しやすいように接続記号 || で分割できます。接続記号 '||' を囲む一重引用符は、'||' が文字列の一部である場合を除き、関係を持ちません (これは動的 SQL で非常に一般的です)。 .

Select &#39;abc&#39; a,&#39;&#39; b, &#39;&#39;&#39;&#39; c, &#39; &#39;&#39; &#39; d From Dual;
ログイン後にコピー

2、二重引用符

1) 一般的に、文字列内の二重引用符は通常の文字としてのみ扱われます。現時点では、二重引用符をペアで使用する必要はありません:

Select &#39;name&#39; || &#39;&#39;&#39;&#39;&#39;&#39; a, &#39;name&#39;&#39;&#39;&#39;&#39; b From Dual;
Output:name&#39;&#39;  name&#39;&#39;
ログイン後にコピー

2) to_char の書式文字列に使用する場合、二重引用符には特別な機能があり、不正な書式文字を囲んで回避します。 ORA-01821: 日付形式が認識されないエラーです。

つまり、二重引用符とそれに含まれる文字を削除した後、残りは有効な形式文字列である必要があります。

to_char は無視されますフォーマット文字列を処理するときは二重引用符で囲みます:

Select To_Char(Sysdate, 'hh24"hour"mi" minutes" ss"seconds"') As "Current Time/Hour Minutes Seconds" From Dual;

出力:09 時間 05 分 08 秒 -- このアプリケーションはエイリアスにも存在します

形式文字列は 'hh24" 時 "mi" 分 "ss" 秒"';

二重引用符を削除すると、「hh24miss」が残ります。これは正当な書式指定文字列です。

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

Select To_Char(Sysdate, 'hh24) ') || 'Hour' || To_Char (Sysdate, 'mi') || 'Min' || To_Char(Sysdate, 'ss') || 'Second' デュアル;

出力の結果: 09 時間 05 分 08 秒

3,& (および記号)

はカスタム変数の識別/設定に使用され、その後に変数名が続きます。を文字として使用する必要がある場合は、Chr (38) を使用するか、2 つの && を接続する (エスケープ自体)

Select &#39;hh24"小时""mi""分"""ss"秒"&#39; Results From Dual;
Output:hh24"小时""mi""分"""ss"秒"
ログイン後にコピー

4, Escape(エスケープ文字を指定する)

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

Select Chr(38) a, &#39;Tom&&Jerry&#39; b, &#39;Gun &#39;&#39;N Roses&#39; c From Dual;
Output:&    Tom&Jerry    Gun &#39;N Roses
ログイン後にコピー
推奨チュートリアル: "Oracle Video Tutorial

"

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

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Oracleの表空間サイズを確認する方法 Oracleの表空間サイズを確認する方法 Apr 11, 2025 pm 08:15 PM

Oracle Tablespaceサイズを照会するには、次の手順に従ってください。クエリを実行して、TableSpace名を決定します。DBA_TABLESPACesからTableSpace_Nameを選択します。クエリを実行してテーブルスペースのサイズをクエリします:sum(bytes)をtotal_size、sum(bytes_free)asavail_space、sum(bytes) - sum(bytes_free)as sum(bytes_free)as dba_data_files from tablespace_

Oracleビューを暗号化する方法 Oracleビューを暗号化する方法 Apr 11, 2025 pm 08:30 PM

Oracle View暗号化により、ビュー内のデータを暗号化でき、それにより機密情報のセキュリティが強化されます。手順には以下が含まれます。1)マスター暗号化キー(MEK)の作成。 2)暗号化されたビューを作成し、暗号化されるビューとMEKを指定します。 3)暗号化されたビューにアクセスすることをユーザーに許可します。暗号化されたビューがどのように機能するか:ユーザーが暗号化されたビューを求めてクエリをするとき、OracleはMEKを使用してデータを復号化し、認定ユーザーのみが読み取り可能なデータにアクセスできるようにします。

Oracleでテーブルを作成する方法 Oracleでテーブルを作成する方法 Apr 11, 2025 pm 08:00 PM

Oracleテーブルの作成には、次の手順が含まれます。作成テーブルの構文を使用して、テーブル名、列名、データ型、制約、およびデフォルト値を指定します。テーブル名は簡潔で説明的である必要があり、30文字を超えてはなりません。列名は説明的でなければならず、データ型は列に保存されているデータ型を指定します。 NOT NULL制約により、列でnull値が許可されていないことが保証され、デフォルト句は列のデフォルト値を指定します。テーブルの一意の記録を識別する主要なキーの制約。外部キーの制約は、表の列が別のテーブルの主キーを指していることを指定します。主要なキー、一意の制約、デフォルト値を含むサンプルテーブル学生の作成を参照してください。

Oracleデータベースをインポートする方法 Oracleデータベースをインポートする方法 Apr 11, 2025 pm 08:06 PM

データインポート方法:1。SQLLOADERユーティリティを使用します。データファイルを準備し、制御ファイルを作成し、SQLLoaderを実行します。 2。IMP/EXPツールを使用します。データをエクスポートし、データをインポートします。ヒント:1。ビッグデータセットに推奨されるSQL*ローダー。 2。ターゲットテーブルが存在する必要があり、列定義が一致します。 3。インポート後、データの整合性を検証する必要があります。

Oracleのインスタンス名を表示する方法 Oracleのインスタンス名を表示する方法 Apr 11, 2025 pm 08:18 PM

Oracleでインスタンス名を表示するには3つの方法があります。「sqlplus」と「v $ instanceからselect instance_name;」を使用します。」コマンドラインのコマンド。 「show instance_name;」を使用しますSQL*Plusのコマンド。オペレーティングシステムのタスクマネージャー、Oracle Enterprise Manager、またはオペレーティングシステムを介して、環境変数(LinuxのOracle_Sid)を確認してください。

Oracleのインストールをアンインストールする方法は失敗しました Oracleのインストールをアンインストールする方法は失敗しました Apr 11, 2025 pm 08:24 PM

Oracleインストール障害のためのアンインストールメソッド:Oracleサービスを閉じ、Oracleプログラムファイルとレジストリキーを削除し、Oracle環境変数をアンインストールし、コンピューターを再起動します。アンインストールが失敗した場合、Oracle Universal Uninstallツールを使用して手動でアンインストールできます。

オラクルで時間を取得する方法 オラクルで時間を取得する方法 Apr 11, 2025 pm 08:09 PM

Oracleで時間を取得するには、次の方法があります。Current_Timestamp:現在のシステム時間を秒に正確に返します。 systimestamp:current_timestampよりも正確で、ナノ秒。 sysdate:時間部分を除く現在のシステム日付を返します。 to_char(sysdate、 'yyy-mm-dd hh24:mi:ss'):現在のシステムの日付と時刻を特定の形式に変換します。抽出:1年、月、時間など、時間の値から特定の部分を抽出します。

Oracle AWRレポートを読む方法 Oracle AWRレポートを読む方法 Apr 11, 2025 pm 09:45 PM

AWRレポートは、データベースのパフォーマンスとアクティビティスナップショットを表示するレポートです。解釈の手順には、アクティビティスナップショットの日付と時刻の識別が含まれます。アクティビティとリソース消費の概要をご覧ください。セッションのアクティビティを分析して、セッションの種類、リソース消費、待機イベントを見つけます。遅いSQLステートメント、リソース競合、I/Oの問題などの潜在的なパフォーマンスボトルネックを見つけます。待機イベントを表示し、パフォーマンスのためにそれらを特定して解決します。ラッチとメモリの使用パターンを分析して、パフォーマンスの問題を引き起こしているメモリの問題を特定します。

See all articles