2016-07-13 4 views
0

SQLデベロッパーを使用してOracleデータベースにクエリしています。アンパサンドと&を無視するSQLの文字列リテラルをOracle上で検索する方法はありますか?

SQLでアンパサンドが含まれている文字列を検索する場合、現在「set define off;」コマンドを実行する必要があります。 'define'変数として扱われないようにクエリに先行します。例えば

set define off; 
select 'Dungeons&Dragons' from dual; 
set define on; 

作品は、予想通りと '&' はリテラル文字として扱われます。

select l'Dungeons&Dragons' from dual; 

またはそれらの線に沿って何か:しかし、私は、リテラルのような文字列をマークすることによってこれを行う方法がありましたかしら。

+0

私はそれを行う最良の方法だと思います。エスケープ文字( '\')を使用できます。 'Dungeons \&Dragons'でも、それは問題の価値があるとは思われません。 http://stackoverflow.com/questions/12961215/escaping-ampersand-character-in-sql-string –

+1

別の方法としては、回答の2番目のオプションを参照してください。http://stackoverflow.com/a/118210/121544 –

+1

可能な複製[SQL Plusで実行されているSQLスクリプトでアンパサンドを無視するにはどうすればよいですか?](http://stackoverflow.com/questions/118190/how-do-i-ignore-ampersands-in-a-sql-script-running- from-sql-plus) –

答えて

0

SQL Developerの起動時にSET DEFINE OFFのlogin.sqlスクリプトを使用します。 [ツール] - [設定] - [データベース]に移動し、[接続開始スクリプト]の[ファイル名]に移動して、新しいlogin.sqlファイルを選択します。

0

あなたはあまりにも異なる文字にプロンプ​​ト文字を設定することができます。

SET DEFINE '^' 

その後、通常のようなクエリを発行します。

関連する問題