Announcement

Collapse
No announcement yet.

Sonderzeichen ' in LIKE

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sonderzeichen ' in LIKE

    Hallo

    Vielleicht weiss jemand dazu eine Lösung, bin im Forum sonst auf nichts schlaues gestossen, was mein Problem behoben hätte.

    Folgende Ausgangslage: dynamisches SQL dass mit Sonderzeichen etwas Mühe hat.

    Code:
    SELECT @sqlText = 'SELECT * from tbl_TestTabelle WHERE TestText LIKE ''Kü'r%'' '
    Das Problem ist das einfache Anführungszeichen zwischen ü und r. bei der Ausführung wird dieses als Ende für den LIKE-String interpretiert.
    Ich habe probiert ein zweites ' einzufügen (also ''Kü''r%''') , das ergibt immer noch ein Fehler.

    Vielen Dank für eure mithilfe.

  • #2
    Hallo,

    Doppelte Apostrophe waeren schon richtig, ich vermute der von dir erwaehnte Fehler resultiert daraus, dass du zu Beginn und Ende der LIKE-Bedingung ebenfalls doppelte Apostrophe gesetzt hast.

    So sollte es funktionieren:
    SELECT @sqlText = 'SELECT ... LIKE '''Kü''r%''' '
    *-- robert.oh. --*

    Comment


    • #3
      Danke vielmal, aber das funktioniert ebenfalls nicht. Die doppelten Apostrophe müssen da ja sein, da sich das Select-statement ja bereits in einem String befindet.

      Comment


      • #4
        Das ist schon richtig, aber das heisst auch, dass du diese ebenfalls verdoppeln musst.

        Am Besten du oeffnest SQL Management Studio (oder einen anderen SQL Editor mit Syntax Colouring) und gibst den Command ein - die Einfaerbung der Syntax kann dir beim Setzen der Apostrophe sicherlich helfen.
        *-- robert.oh. --*

        Comment


        • #5
          Hallo schwima,

          [highlight=SQL]
          SELECT @sqlText = 'SELECT *
          from tbl_TestTabelle
          WHERE TestText LIKE ''Kü''r%''' -- Sogar hier funktioniert das hilfreiche Highlightning richtig.
          [/highlight]

          Also immer verdoppeln, am Ende sind es 3 wegen dem abschließenden Hochkomma.
          Olaf Helper

          <Blog> <Xing>
          * cogito ergo sum * errare humanum est * quote erat demonstrandum *
          Wenn ich denke, ist das ein Fehler und das beweise ich täglich

          Comment


          • #6
            Hallo zusammen

            Also ich arbeite ja bei diesem Projekt nur mit dem Management Studio... bin also mit den Highlighting Farben vertraut. Habt ihr eure Lösungsvorschläge mal "ausprobiert"? sprich euer Statement zum laufen gebracht? Bei mir geht eure Version nicht...
            Hier die Fehlermeldung zu eurer Version. Meldung 102, Ebene 15, Status 1, Zeile 1
            Falsche Syntax in der Nähe von 'r'.
            Meldung 105, Ebene 15, Status 1, Zeile 1
            Kein schließendes Anführungszeichen nach der Zeichenfolge ''.

            Bin inzwischen aber auf die Lösung des Problems gestossen... zwar nicht gerade die saubere Art, aber es geht jetzt... hab soviel hochkommas eingefügt bis es ging. :-)
            lösung:
            Code:
            SELECT @sqlText = 'SELECT * from tbl_TestTabelle WHERE TestText LIKE ''Kü''''r%'''
            es sind also 4 hochkommas zwischen ü und r und drei am schluss (wie von euch erwähnt)

            vielen dank euch für die schnelle hilfe (ihr habt mich auf die idee mit dem mehr-hochkommas-reinmachen gebracht. :-) )

            Comment


            • #7
              JA, ich hab meinen Vorschlag probiert und JA es hat funktioniert.

              Aber egal, Hauptsache du hast eine Loesung gefunden
              *-- robert.oh. --*

              Comment


              • #8
                Sorry, ich wollte dich nicht in Frage stellen, falls dies so rüberkam, sorry.
                aber da frag ich mich wie das möglich ist dass es bei dir geht und bei mir nicht? hab deine version nun nochmals 1. via CopyPaste probiert, 2. via abschreiben, hat beides immer zum oben erwähnten fehler geführt.
                danke nochmals für deine Zeit die du für mich aufgewendet hast.

                Comment

                Working...
                X