SQL Server Entkommen Sie einen Unterstrich

  • Wie entkomme ich dem Unterstrich?

    Ich schreibe etwas wie die folgende where-Klausel und möchte mit _d tatsächliche Einträge finden können am Ende.

     Where Username Like '%_d'
     
    07 July 2016
    brett rogersSteveC
3 answers
  • T-SQL-Referenz für LIKE für SQL Server 2000 :

    Sie können die Platzhalterzeichen-Übereinstimmungszeichen als Literalzeichen verwenden. Um ein Platzhalterzeichen als Literalzeichen zu verwenden, schließen Sie das Platzhalterzeichen in Klammern ein. Die Tabelle zeigt mehrere Beispiele für die Verwendung des LIKE-Schlüsselworts und der Platzhalterzeichen [].

    Für Ihren Fall:

     ... LIKE '%[_]d'
     
    08 August 2008
    Lasse Vågsæther Karlsen
  • Offensichtlich ist die @Lasse-Lösung richtig, aber es gibt eine andere Möglichkeit, Ihr Problem zu lösen: Der T-SQL-Operator LIKE definiert den optionalen ESCAPE -Klausel, mit der Sie ein Zeichen deklarieren können, mit dem das nächste Zeichen in das Muster eingefügt wird.

    Für Ihren Fall sind die folgenden WHERE-Klauseln gleichwertig:

     WHERE username LIKE '%[_]d';            -- @Lasse solution
    WHERE username LIKE '%$_d' ESCAPE '$';
    WHERE username LIKE '%^_d' ESCAPE '^';
     
    02 May 2012
    Gerardo Lima
  • Diese Lösungen sind absolut sinnvoll. Leider funktionierte keiner für mich wie erwartet. Anstatt zu versuchen, mich damit zu beschäftigen, habe ich mich mit einer Arbeit herumgearbeitet:

    01 June 2018
    Tek Mailer