MySQL 3.23 + REGEXP

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MySQL 3.23 + REGEXP

    hallo,

    heute mal was (für mich) merkwürdiges. folgende daten
    Code:
    color | artnr
    FG | B10FG128
    NY | B10NY104
    YE | B10YE116
    RB | B10RB104
    RD | B10RD104
    OR | B100ORS
    RB | B100RBL
    RD | B100RDL
    frage ich so ab:
    Code:
    SELECT 
            color, 
            artnr, 
            IF(artnr REGEXP 'B([0-9]{3}).*', LEFT(artnr, 4), LEFT(artnr, 3)) a1 
        FROM 
            bas_price 
        ORDER BY artnr ASC
    um folgendes ergebnis zu erhalten:
    Code:
    FG B10FG128 B10
    NY B10NY104 B10
    YE B10YE116 B10
    [B]RB B10RB104 B10R[/B]
    RD B10RD104 B10
    OR B100ORS B100
    RB B100RBL B100
    RD B100RDL B100
    kann mir jemand sage, warum ausgerechnet bei "RB" die REGEXP aussteigt. und zwar NUR bei 2-stelligen zahlen nach dem führenden "B"?
    das ganze betrifft ca. 200 von 1000 datensätzen.
    Kissolino.com

  • #2
    Du suchst nach B und drei Ziffer und da das für B10RB104 liest du die ersten 4 Zeichen und nicht die ersten 3

    Schreibe mal ein ^ vor das B in deinem regulären Ausdruck, damit du wirklich am Stringanfang suchst und nicht irgendwo
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      *grmpf* ... das wars, danke happy
      Kissolino.com

      Kommentar

      Lädt...
      X