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

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