[MySQL] String split en concat of zoiets

Pagina: 1
Acties:
  • 106 views sinds 30-01-2008
  • Reageer

  • DPLuS
  • Registratie: April 2000
  • Niet online
Men neme een MySQL v5 database, met een tabel Gebruikers.
In die tabel staat een veld "naam", met bijvoorbeeld het record:
"Piet van den Broek".

Wat ik nu wil is dat MySQL tijdens een select de volgende string retourneert:
"Broek, Piet van den"

Ik zat al in de richting van:
SELECT CONCAT(SUBSTRING(naam))
te denken maar aangezien de achternaam van variabele lengte is gaat dat idee niet op.

Wie kan een duw in de juiste richting geven?

  • pistole
  • Registratie: Juli 2000
  • Laatst online: 16:32

pistole

Frutter

de enige juiste aanpak is IMO het splitsen van de velden. Representatie kan je dan naar wens doen.

edit:
typo

[ Voor 10% gewijzigd door pistole op 29-12-2006 13:47 ]

Ik frut, dus ik epibreer


  • Piels
  • Registratie: Maart 2001
  • Laatst online: 27-11 14:22
Hoe weet kijk je hoeveel tussenvoegsels er tussen de werkelijke achternaam en tussen de voornaam zit?

Waarom maak je niet gewoon een veld Voornaam en een veld Achternaam? Dan kun je in het veld Achternaam het laatste woord pakken en daar een , achter zetten. De rest van de achternaam gooi je dan gewoon achter de achternaam. :)

Windows Phone Apps: Belstatus, Pinautomaten


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 28-11 20:43

chem

Reist de wereld rond

regexp zou leuk zijn, maar kan niet. dus moet je iets doen met locate() of substring_index().

niet iedereen z'n achternaam is echter zo eenvoudig op te splitsen met een spatie...

Klaar voor een nieuwe uitdaging.


  • Reinier
  • Registratie: Februari 2000
  • Nu online

Reinier

\o/

Je kunt het beste je tabel met wat kolommen uitbreiden en handmatig de namen netjes splitsen. Anders is het geen doen. Want "van den" en "van der" ofzo lukt misschien nog wel (misschien heb je daarvoor niet voldoende aan sql-statements), maar wat doe je met "Ali al Bladie" of "Piet de la Meuk"? :)