From: | Klaus Kaisersberger <point-of-entry(at)outlook(dot)com> |
---|---|
To: | Ulrich Goebel <ml(at)fam-goebel(dot)de>, "pgsql-de-allgemein(at)postgresql(dot)org" <pgsql-de-allgemein(at)postgresql(dot)org> |
Subject: | Re: LIKE or SIMILAR TO |
Date: | 2016-04-18 18:19:13 |
Message-ID: | DUB125-W94F590C6DB5776DFF265B8CD6B0@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
Muss es pgplsql sein? Wenn nicht: Eine SQL-Funktion (language sql) täte es auch, die auf folgendem basiert:
select
upper(regexp_replace(eingabe.ws,E'.*(ws-\\d+).*','\1','i')) workshop
from
tabelle eingabe
where
eingabe.ws~E'(?i)ws-\\d+';
Diese könnte auch gleich die gesamte Tabelle verarbeiten.
----
Klaus
> To: pgsql-de-allgemein(at)postgresql(dot)org
> From: ml(at)fam-goebel(dot)de
> Subject: [pgsql-de-allgemein] LIKE or SIMILAR TO
> Date: Mon, 18 Apr 2016 19:28:00 +0200
>
> Hallo,
>
> ich habe eine Anfängerfrage:
>
> In einem Feld
> ws varchar(50)
> sammle ich Benutzer-Eingaben, die keiner Formatierung genügen müssen.
> (Es sind Teilnehmer einer Tagung, die über ein Formular ihren
> Workshop-Wunsch angeben.)
> Z.B.
> WS-01, Ökologie, Lieschen Müller
> Lieschen Müller: Ökologie (WS-01)
> Nun möchte ich eine plpgsql-Funktion fkt_ws_norm schreiben, die mir den
> ersten Eintrag in ws der Art
> WS-01
> WS-02
> ...
> WS-99
> (gemeint ist "Workshop Nr. 01 bis 99")
> aus ws sucht "normiert" zurückgibt. Die Funktion soll z.B. folgende
> Fälle tolerieren:
> ws-01 --> WS-01
> ws 01 --> WS-01
> WS.01 --> WS-01
> WS01 --> WS-01
> Also etwa so:
>
> create or replace
> function fkt_ws_norm(ws varchar(50)) returns varchar(6) as $$
> begin
> ws_norm = "erster Eintrag in ws der Art WS-##"
> return upper(ws_norm);
> end;
> $$ language plpgsql;
>
> Wie macht man sowas?
>
> Beste Grüße und danke für Hilfe
> Ulrich
>
> --
> Ulrich Goebel
> Paracelsusstr. 120, 53177 Bonn
>
>
> --
> Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-de-allgemein
From | Date | Subject | |
---|---|---|---|
Next Message | Charles Clavadetscher | 2016-04-20 10:15:55 | Swiss PGDay 24.06.2016: Die Anmeldung ist eröffnet |
Previous Message | Ulrich Goebel | 2016-04-18 17:28:00 | LIKE or SIMILAR TO |