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

Textfeld parsen

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von haiflosse, 23 Dezember 2015.

  1. haiflosse

    haiflosse Benutzer

    Ich habe ein Textfeld und möchte daraus mehrere Informationen herausholen.
    Der Inhalt sieht wie folgt aus:
    ---------------
    Projekt: Test
    Zeit: 1.4.2016
    Referent: Mustermann
    Raum: 101
    -------------------

    Ich möchte aus diesem Text immer das Wort nach dem : also in meinem Fall das Wort "Test" in ein eigenes Feld, das Datum "1.4.2016" in ein eigenes Feld, den Namen "Mustermann" in ein eigenes Feld und den Raum "101" in ein eigenes Feld.

    Ich wollte daher fragen, wie ich dies am Besten mit einem Mysql Kommando durchführen kann.
    Vielen Dank für eine Antwort
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Das richtige Konzept nennt sich Normalisierung. Das, was Du machst, nennt sich Murks. Dir hier zu helfen würde bedeuten, den Murks zu zementieren.
     
  3. akretschmer

    akretschmer Datenbank-Guru

    Ich zeig Dir es mal in PostgreSQL (und nur für die ersten 2 Werte):

    Code:
    test=*# select * from flosse ;
     id |  t
    ----+----------------------
      1 | Projekt: Test  +
      | Zeit: 1.4.2016  +
      | Referent: Mustermann+
      | Raum: 101
    (1 row)
    
    test=*# select id, array_to_string(projekt,'') as projekt, array_to_string(zeit,'') as zeit from (select id, array_agg(regexp_replace(val, '^.*: ','')) filter (where val ~ '^Projekt:') as projekt, array_agg(regexp_replace(val,'^.*: ','')) filter (where val ~'Zeit:') as zeit from (select id, regexp_split_to_table(t, '\n') as val from flosse) foo group by id) bla;
     id | projekt |  zeit
    ----+---------+----------
      1 | Test  | 1.4.2016
    (1 row)
    
    Nochmals: das ist absolut unsauber.
     
  4. Dukel

    Dukel Datenbank-Guru

    Außer man nutzt z.B. den Datentyp Json.
    Aber bei solchen strukturierten Daten sollte man das nicht machen.
     
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