Avatar billede lundsfryd Nybegynder
13. juli 2001 - 05:42 Der er 1 kommentar og
1 løsning

REGEXP (eller hvad?) i MySQL

Jeg vil gerne bruge GROUP BY på en del-streng (eller substring, kald det hvad du vil), men jeg har ikke kunnet finde noget dokumentation på det (og tvivler da også på, at det kan lade sig gøre).

Et tænkt eksempel - 3 navne:

Hans Jørgen Jensen
Søren Bo Poulsen
Svend Jørgen Larsen

Nu vil jeg så gerne lave en SELECT med en GROUP BY, der grupperer efter det midterste navn, således, at Jørgen\'erne kommer i én gruppe, og Bo i en anden, evt. vha. noget regular expression-halløj. Noget lignende dette (\"navn\" er det felt, der indeholder det fulde navn):

SELECT [en eller anden behandling af \"navn\"] AS mellemnavn GROUP BY mellemnavn

Bemærk, at de mulige mellemnavne ikke er kendt på forhånd, og at selve mellemnavnet også skal kunne læses ud af resultatet.

En uddybende forklaring gives gerne om nødvendigt :)
Avatar billede lundsfryd Nybegynder
13. juli 2001 - 06:15 #1
Nå, jeg har fundet en løsning (det hjalp vist at formulere problemet på skrift).

Man kan bruge LOCATE (eller evt. POSITION) til at finde positionen på det første mellemrum - og derefter kan dette tal bruges til at finde mellemrum nr. 2. Med disse to tal er det nemt at finde mellemnavnet med SUBSTRING-funktionen, nu hvor man jo kender start- og slutpositionen på det :-)

Men jeg vil stadig gerne høre, om der er nogen, der har smartere løsninger :)
Avatar billede lundsfryd Nybegynder
28. juli 2001 - 16:23 #2
Nå, de kloge holder vist stadig ferie ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester