2016-07-13 24 views
0

Ich frage eine Oracle-Datenbank mit SQL-Entwickler ab.Gibt es eine Möglichkeit, Zeichenkettenliterale in SQL auf Oracle zu suchen, die das kaufmännische Und & ignoriert?

Bei der Suche nach einer Zeichenfolge, die das Und-Zeichen in SQL enthält, muss ich derzeit den Befehl "set define off;" vor der Abfrage, damit sie nicht als 'definiere' Variable behandelt wird.

Zum Beispiel:

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

funktioniert wie erwartet und die '&' wird als Literalzeichen behandelt. Aber ich frage mich, ob es einen Weg, dies zu tun, indem Sie die Zeichenfolge als eine wörtliche solche Markierung als:

select l'Dungeons&Dragons' from dual; 

Oder etwas in diese Richtung.

+0

Ich denke, das ist der beste Weg, es zu tun. Sie könnten ein Escape-Zeichen ('\') verwenden, z. 'Dungeons \ & Dragons', aber das scheint die Mühe nicht wert zu sein. http://stackoverflow.com/questions/12961215/escaping-ampersand-character-in-sql-string –

+1

Für eine andere Alternative, siehe zweite Option in der Antwort: http://StackOverflow.com/a/118210/121544 –

+1

Mögliche doppelte von [Wie ignoriere ich Und-Zeichen in einem SQL-Skript, das von SQL Plus ausgeführt wird?] (http://stackoverflow.com/questions/118190/how-do-i-ignore-ampersands-in-a-sql-script-running- from-sql-plus) –

Antwort

0

Verwenden Sie ein login.sql-Skript mit SET DEFINE OFF auf SQL-Entwickler Start. Gehen Sie zu Extras-Einstellungen-Datenbank und wählen Sie bei Dateiname für Verbindungsstartskript die neue login.sql Datei.

0

Sie können das Prompt-Zeichen zu einem anderen Zeichensatz zu:

SET DEFINE '^' 

dann Ihre Abfrage wie normale Ausgabe.