Announcement

Collapse
No announcement yet.

wie kann cih einen String zerteilen in T-SQL ab einem bestimmten zeichen?

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

  • wie kann cih einen String zerteilen in T-SQL ab einem bestimmten zeichen?

    Ich würde gern in T-SQL bei einem String abschneiden, aber erst nachdem ein bstimmtes zeichen zum 2. mal gefunden wurde, wie stelle ich das an...?

    z.b. bei www.google.de ab dem 2.ten punkte abschneiden, dass nur noch "de" das ist oder nach dem 2. "o" abschneiden, dass nur noch "gle.de" da is

    Bin neu in der materie und kenn mich nicht damit aus...

    Danke...

  • #2
    Etwas aufgelöst sieht es so aus:
    [highlight=sql]DECLARE @string varchar(100), @pos1 int
    SET @string = 'www.doomain.de'

    SET @pos1 = CHARINDEX('o', @string, 1)
    SET @pos1 = CHARINDEX('o', @string, @pos1 + 1) + 1

    SELECT SUBSTRING(@string, @pos1, LEN(@string))[/highlight]

    Auf eine Tabelle angewendet, muss man es nur in einander schachteln.
    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


    • #3
      [highlight=sql]DECLARE @string varchar(20), @pos1 int
      SET @string = 'mail.google.de'

      SET @pos1 = CHARINDEX('o', @string, 1)
      SET @pos1 = CHARINDEX('o', @string, @pos1 + 1) + 1

      SELECT SUBSTRING(@string, @pos1, LEN(@string))

      SELECT SUBSTRING(@string, CHARINDEX('o', @string, CHARINDEX('o', @string, 1) + 1), LEN(@string))[/highlight]
      [highlight=code]--------------------
      gle.de

      --------------------
      ogle.de

      [/highlight]
      Bei mir geht; dann lass einfach das letzte +1 weg.

      Schachtelung s.o.
      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


      • #4
        jetz hab ich mein letztes psot ausversehen gelöscht
        naja.. jedenfalls vielen dank nochma!!

        Comment


        • #5
          Dies funktioneirt wunderbar.. nur wenn z.b. ein zeichen mehr als 2 mal vorkommt, muss man nochmal

          @pos1 = CHARINDEX('.', @string, @pos1 + 1) + 1

          kann man vorher irgendwie einen String auf die anzahl eines bestimmten zeichens prüfen?

          Comment


          • #6
            Originally posted by heartxcore View Post
            Dies funktioneirt wunderbar.. nur wenn z.b. ein zeichen mehr als 2 mal vorkommt, muss man nochmal

            @pos1 = CHARINDEX('.', @string, @pos1 + 1) + 1

            kann man vorher irgendwie einen String auf die anzahl eines bestimmten zeichens prüfen?
            kann man, hier z.b. ist eine Funktion Str_Find beschrieben...

            Comment


            • #7
              wenn z.b. ein zeichen mehr als 2 mal vorkommt,
              Du hast nach dem 2ten Vorkommen gefragt und das hast Du bekommen.

              Was willst Du den nun genau?
              Alles ab dem 2ten Vorkommen?
              Alles ab dem xten Vorkommen?
              Alles ab dem letzten Vorkommen, sofern das Zeichen min. 2mal vorkommt?
              Oder .... ?

              Du musst Deine Anforderung schon klar definieren, sonst bekommst Du auch nur unklare Lösungen.
              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


              • #8
                Ich hatte bis Gestern einen alten Datenbestand, da hat das wunderbar geklappt mit dem "nach dem 2. Zeichen Fragen" in dem neuen Datenbestand waren die Daten unterschiedlicher als sie eigentlich sein sollten.

                Aber dank Eurer Hilfe hab ich das Problem gelöst.

                Comment

                Working...
                X