Avatar billede dotnet_cowboy Nybegynder
10. oktober 2005 - 14:55 Der er 1 kommentar

Prøver lige igen med at kopiere data fra et felt til flere

Hej igen...

Som jeg skrev tidligere, så ville jeg have rykket rundt på nogle data.

Nu er vil jeg gerne have dem til at stå således.

F.eks.:

---------------
nuværende
---------------
      Artist
Larsen, Kim & Kjukken

------
Nye
------
Firstname      Lastname          Band
Kim                Larsen        & Kjukken

----------------------------------

regelsættet lyder således:

når der er et komma efter det første ord, så skal det altid smides i lastname feltet. Ordet efter kommaet skal altid stå i Firstname feltet. Den sidste regel er, de ord der står efter tegene - eller & skal altid stå i Band feltet.

Det må kunne lade sig gøre.

Min nuværende SQL Statement ser således ud:

UPDATE Test_Products
SET Firstname = CASE WHEN CHARINDEX(',',artist) = 0 THEN
    LEFT(artist, CHARINDEX(' ',artist) - 1)
ELSE
    RIGHT(artist, LEN(artist) - CHARINDEX(' ',artist))
END,
    Lastname = CASE WHEN CHARINDEX(',',artist) = 0 THEN
    RIGHT(artist, LEN(artist) - CHARINDEX(' ',artist))
ELSE
    LEFT(artist, CHARINDEX(',',artist) - 1)
END

Håber at høre fra jer.

Mvh

DC
Avatar billede trer Nybegynder
16. december 2005 - 13:53 #1
det nemmeste for dig bliver nok at lave en funktioner der trækker hver deres del af navnet ud

skabelon :

create function MyFunc(@s varchar(50))
returns varchar(20)
as
begin
  ...
  return @xxx
end

...

anvendelse:

update test-products set
  firstname = dbo.getfirstname(artist),
  lastname = dbo.getlastname(artist),
  band = dbo.getbandname(artist)
go

at performance bliver lav har jo ikke den store betydning når det er et "one-shot" konvertering.



...
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