Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Umgang mit Sonderzeichen wie Prozent (%) und kaufmännisches Und (&) in Oracle SQL-Abfragen

Wenn Sie Field_Name-Werte abgleichen möchten, die 'bla%bla&2' enthalten, müssen Sie Folgendes schreiben:

set define off
Select * From Some_Table Where Field_Name Like '%bla\%bla&2%' escape '\';

Sie können angeben, welches Zeichen Sie verwenden möchten, um einem folgenden Zeichen zu entkommen (Dank sollte an Mathguy gehen, nicht an mich). Sie müssen auch set define off um zu verhindern, dass sqlplus versucht, Werte in einer Zeichenkette zu ersetzen.

Wenn Sie jedoch Field_Name-Werte abgleichen möchten, die genau der angegebenen Zeichenfolge entsprechen, dann tun Sie stattdessen Folgendes:

set define off
Select * From Some_Table Where Field_Name = 'bla%bla&2';