gnoerz
1
ich würde gerne die query-ausgabe im query bearbeiten, bin aber offenbar zu doof, um das mit regexen zu lösen.
gegeben:
query1:
select name from hosts where ip='1.1.1.1';
www.blafasel.de
www.oerg.com
www.huhu.co.uk
www.auweia.info
query2
select gettld('www.huhu.co.uk')
.co.uk
query2 bedient eine funktion, die jeweils die topleveldomain extrahiert.
Nun hätte ich gerne als result von query1 die ergebnisse OHNE tld, also nur
www.blafasel
www.oerg
www.huhu
www.auweia
Meine Versuche, diese Aufgabe in einen Query zu verpacken, waren erfolglos…
Vorschläge? Ideen?
tom
test=*# select regexp_replace('abc.de.com',E'\.[^.]*$','');
regexp_replace
----------------
abc.de
(1 Zeile)
Andreas
gnoerz
3
das ist schön, aber ein wenig zu einfach:
es gibt eine reihe von tlds, die 2 punkte haben:
co.uk, co.au usw usf. - deshalb auch die funktion gettld, die das eigentlich ganz wunderbar erledigt.
trotzdem ein prima tipp, der mich zum ziel geführt hat:
select regexp_replace('abc.co.uk',(select gettld('abc.co.uk')),'');
klappt prima.
jetzt muss ich das noch in den hauptquery verpacken, aber ist hinzukriegen.
vielen dank!
tom