8 Stimmen

select * from table_name where column like '&nbsp'

Ich muss Datensätze finden, die einen HTML-Code wie '&nbsp' enthalten, aber wenn ich versuche, die select * from table_name where column like '&nbsp%' Ich wurde nach dem Wert von nbsp gefragt. Ich vermute, die Datenbank denkt, dass nbsp ein Parameter ist. Ich frage mich, ob es ein Escape-Zeichen gibt, mit dem ich der Datenbank mitteilen kann, dass "&" ein Teil meiner Abfragezeichenfolge ist. Ich habe es mit '\&nbsp' versucht, aber das hat nicht funktioniert.

Meine Umgebung ist Oracle 9i mit Sqlplus-Client.

Danke.

11voto

davek Punkte 21771

Schauen Sie sich das an:

SQL Plus FAQ

z.B..

SET ESCAPE '\'
SELECT '\&abc' FROM dual;

11voto

wadesworld Punkte 13029

Der einfachere Weg:

SET DEFINE OFF

Siehe: SETZEN DEFINIEREN

2voto

Paddyslacker Punkte 1870

Der Backslash sollte funktionieren, aber ich denke, Sie müssen Ihre Abfrage mit

SET ESCAPE ON

0voto

philippeko Punkte 501

In PL/SQL würden Sie verwenden:

BEGIN select <Column> from <Table_name> into <Variable> where <Column> LIKE '\&nbsp\%' ESCAPE '\'; END /

Ressourcen:

Wilcards in SQL auf PSOUG.org

LIKE-Bedingung in der Oracle® Database SQL Language Reference 11g Release 2 (11.2)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X