11. januar 2002 - 09:58Der er
3 kommentarer og 1 løsning
Opdatering af felter
Jeg har en tabel der hedder difmedarb. Den tabel indeholder et mednr felt der er unikt samt et name felt. Name feltet indeholder hele medarbejderens navn. Tabellen er nu udvidet til at have et fornavn og et efternavn felt. Det jeg skal er altså at tage det der står i Name feltet og tage det sidste ord og smide i efternavn feltet og resten i fornavn feltet. Er der nogen der kan hjælpe mig med en SQL sætning. A_C
OK jeg er ude i det her. update difmedarb set fornavn=SUBSTRING(name,1,CHARINDEX(\' \',name)), efternavn=SUBSTRING(name,CHARINDEX(\' \',name),len(name))
Det virker i og for sig godt nok, men den gør det omvendte af hvad jeg vil. Jeg vil gerne lægge det sidste ord i efternavn og resten, altså alt det første, i fornavn. Hvordan kan jeg gør det?
Jeg kan ikke lave en SQL sætning, men et lille VBS/ASP program. Noget i den har stil. Det forudsætter at du har en forbindelse til databasen, som hedder CONN.
--------------------- SQLStr = \"Select id, name from difmedarb\" Set liste = Conn.Exeucte(SQLStr) Dim navn, efternavn, fornavn
Do while not liste.EOF navn = liste(\"name\") efternavn = Trim(right(navn, InStrRev(navn, \" \"))) fornavn = Trim(left(navn, len(efternavn)))
SQLStr = \"Update difmedarb set fornavn = \'\" & fornavn & \"\', efternavn = \'\" & efternavn & \"\' where id = \" & liste(\"id\") Conn.Execute(SQLStr) liste.movenext Loop
Ok tak pierrehusted, men det jeg faktisk bare har brug for at vide for at min sql sætning gør hvad den skal, er at finde ud af hvordan jeg i SQL får fat i sidste ord i en streng. Er der nogen der kan fortælle mig det?
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.