====== Suchen mit dem Like Operator nach Texten, die einen "_" enthalten ====== In SQL kann der "_" im Like Operator verwendet werden, um genau ein beliebiges Zeichen an genau dieser Stelle zu finden.\\ Beispiel: select ename from emp where ename like "_iger" --- Tiger Wie suche ich jetzt aber nach allen Datensätzen, die einen Underscore "_" als Text enthalten? ===1. Versuch=== So funktioniert es nicht! SELECT email FROM emailaddresses WHERE email like '%_%' --- gunther@testmal.cn gunther_test@test.cn ... -- Findet alle! ===2. Versuch=== **Lösung: Das Syntaktische Element "_" escapen, damit es als Text gesucht wird!** SELECT email FROM emailaddresses WHERE email like '%\_%' ESCAPE '\'; --- gunther_pipperr@testmail.cn SELECT email FROM emailaddresses WHERE email like '%-_%' ESCAPE '-'; --- gunther_pipperr@testmail.cn ===3. Versuch (ab 10g) Regulärer Ausdurck=== select email from emailaddresses where regexp_like(email,'^.*[_].*$'); --- gunther_pipperr@testmail.cn => Siehe auch [[prog:sql_regular_expression|Reguläre Ausdrücke in der Oracle Datenbank in SQL verwenden]]