Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

RegEx in MySql Statement funktioniert nicht

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Maris, 15 Oktober 2018.

  1. Maris

    Maris Aktiver Benutzer

    Du vermutest also: Es liegt am Befehl? Er funktioniert nicht?
     
  2. akretschmer

    akretschmer Datenbank-Guru

    nun, wenn alle Versuche, es zu nutzen fehlschlagen ...

    PostgreSQL hat keine Funktion regexp_substring, aber regexp_matches. Es arbeitet etwas anders, es gibt im Prinzip eine Tabelle aller matchenden Strings zurück. Wenn es sicher nur einer ist, kann man das via unnest() in einen 1-zeilige Treffer bringen:

    Code:
    test=*# select * from maris ;
     id |                                                             t                                                             
    ----+---------------------------------------------------------------------------------------------------------------------------
      1 | magnalister-Verarbeitung (Amazon)Marketplace Bestellnummer: 306-3584295-9664328** BUSINESS ORDER **Purchase Order Number:
    (1 row)
    
    test=*# select *, regexp_matches(t, '\w\d{2}-?\d{7}-?\d{7}') from maris ;
     id |                                                             t                                                             |    regexp_matches     
    ----+---------------------------------------------------------------------------------------------------------------------------+-----------------------
      1 | magnalister-Verarbeitung (Amazon)Marketplace Bestellnummer: 306-3584295-9664328** BUSINESS ORDER **Purchase Order Number: | {306-3584295-9664328}
    (1 row)
    
    test=*# select *, unnest(regexp_matches(t, '\w\d{2}-?\d{7}-?\d{7}')) from maris ;
     id |                                                             t                                                             |       unnest       
    ----+---------------------------------------------------------------------------------------------------------------------------+---------------------
      1 | magnalister-Verarbeitung (Amazon)Marketplace Bestellnummer: 306-3584295-9664328** BUSINESS ORDER **Purchase Order Number: | 306-3584295-9664328
    (1 row)
    
    test=*#
    
    
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden