2017-12-12 1 views
1
SELECT * 
FROM performance_table 
WHERE ad_group like '%|%' 

Ich habe keine Ahnung, wie man hier den Pipe-Operator entkommt.Wie man '|' in SQL Server oder T-SQL-Abfrage?

+4

Warum versuchen Sie, '|' zu entkommen? es wird nicht als Platzhalterzeichen in einer 'like' Anweisung betrachtet, nur' _' und '%' ist. –

Antwort

1

Das Pipe-Zeichen muss nicht maskiert werden. Ihre Abfrage findet alle Datensätze, die ein Pipe-Zeichen in der Spalte ad_group enthalten.

Bei Verwendung in einem Zeichenfolgenliteral ('|') wird das Zeichen nicht als Operator behandelt. Seine Funktion als Operator ist bitwise OR, wie zum Beispiel in

select 8|3 

wird 11.

5

Sie werden nicht | in T-SQL entkommen müssen, da es keine besondere Bedeutung innerhalb like hat. Wenn zum Beispiel jedoch würden Sie Texte wie Zeichen enthält% finden, was Sie suchen ist:

SELECT * 
FROM performance_table 
WHERE ad_group like '%#%%' escape '#' 

wo escape definiert Charakter entkommen.

+0

Danke, das hat für mich funktioniert. –

Verwandte Themen