webForumDet fria alternativet
Logga in / Bli medlem

splittra namn

Databaser & SQL

4 svar · 363 visningar · startad av Arne

Medlem sedan maj 2000267 inlägg
Trådstart#1

Har en tabell med 20 000 medlemmar där namnet är sparat som helt namn i ett fält.
Nu har det kommit önskemål om att splittra det hela namnet i 2 nya fält (förnamn och efternamn)

Går det att göra en uppdatering av tabellen där alla 20 000 namnen splittras så att förnamnet kopieras till fältet "fnamn" och efternamnet kopieras till fältet "enamn" i en uppdatering.

Tacksam för alla tips om hur sql satsen ska skrivas.

Medlem sedan dec. 19996 721 inlägg
Medlem sedan maj 2000267 inlägg
#3

dubbelnamn

Kanon detta fungerade perfekt:

update testnamn
set fnamn=LEFT(namn ,CHARINDEX(' ',namn)), enamn=RIGHT(namn ,LEN(namn )-CHARINDEX(' ',namn)) WHERE namn LIKE '% %'

En liten kluring :q
Om man har dubbelnamn? T.ex Sven-Anders Nilsson
Kan man tänkas lösa det eller är det manuellt städa efteråt?

Medlem sedan juni 200032 967 inlägg
#4

Med vanliga dubbelnamn som det du ger som exempel, så kommer ovanstående kod att fungera, eftersom den delar upp på mellanslag. Om personen däremot heter Sven Anders Nilsson, eller Sven Liljegren Pettersson, så är det omöjligt för koden att veta vad som är för- och efternamn, så då får du städa manuellt.

Mvh

Medlem sedan maj 2000267 inlägg
#5

Upptäckte det

Hmmm...
Upptäckte det själv. För snabb att fråga, skulle testa först....
Men tack för det snabba svaret:-)

251 ms totalt · 4 externa anrop · v20260731065814-full.50d4b5bd
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)