Avatar billede kkieldsen Nybegynder
24. april 2011 - 23:12 Der er 11 kommentarer og
1 løsning

Oprette en ny kolonne ud fra en allerede eksisterende kolonne.

Hej eksperter,

Jeg har lige nu en kolonne af typen "datetime" hvor formatet er 2009-10-05 00:00:00.000.

Hvordan opretter jeg en ny kolonne som kun har årstallet og ikke mdr, dag, timer, min etc. ?

Dvs.

Nuværende kol.                            Ny kol.
2009-10-05 00:00:00.000.                  2009

På forhånd tak :)
Avatar billede arne_v Ekspert
24. april 2011 - 23:42 #1
Det goer du ikke.

Du bruger bare YEAR(nuvaerendekolonne) i din SQL!
Avatar billede kkieldsen Nybegynder
24. april 2011 - 23:46 #2
Fandt svaret:
DATEPART(yyyy, a.b) AS Aar
Avatar billede kkieldsen Nybegynder
24. april 2011 - 23:54 #3
Hej Arne,

Tak for dit svar.
Måske du kan hjælpe med et andet spørgsmål?

Hvordan opretter jeg en ny kolonne som indholder 0 eller 1 alt efter hvad der står i salg.kbh

Hvis salg.kbh=0, skal der i den nye kolonne (lad os kalde den abc) stå 0, hvis salg.kbh= alt andet end 0 skal der stå 1.
Avatar billede arne_v Ekspert
24. april 2011 - 23:58 #4
CASE salg.kbh WHEN 0 THEN 0 ELSE 1 END
Avatar billede kkieldsen Nybegynder
25. april 2011 - 00:06 #5
Perfekt!

Lidt på samme måde har jeg i en anden kolonne (skole.klasse) værdierne:
1A
1B
2B
3C
10B

Hvordan kan jeg lave en ny række som kun indeholder klassetrinnet og ikke A,B,C etc.?

1
1
2
3
10
Avatar billede arne_v Ekspert
25. april 2011 - 00:20 #6
Det er noget besvaerligt.

En paen loesning er at lave det i en CLR funktion.

Skal det laves i TSQL saa proev:

case when substring(skole.klasse, 1, 2) = '10' then substring(skole.klasse, 1, 2) else substring(skole.klasse, 1, 1) end
Avatar billede kkieldsen Nybegynder
25. april 2011 - 00:32 #7
Okay - det prøver jeg. Tusing tak for al din hjælp!
Et sidste spørgsmål.

Jeg har lige nu postnummer i en kolonne (tbl.postnummer) men vil gerne have Regionen i en ny kolonne.
Har tænkt mig at gøre det ved at sige eks. >2000 = Hovedstaden, 2001><4000 = Sjælland    ,  i en ny tabel der hedder tbl.region.

Kan ikke lige dreje den.
Avatar billede kkieldsen Nybegynder
25. april 2011 - 00:33 #8
Får denne mdl. Conversion failed when converting the varchar value 'Hovedstaden' to data type int.
Avatar billede arne_v Ekspert
25. april 2011 - 00:38 #9
proev:

case when tbl.postnummer < 2000 then 'Hovedstaden' when tbl.postnummer >= 2000 and tbl.postnummer < 4000 then 'Sjælland' else 'ikke djævleøen' end
Avatar billede arne_v Ekspert
25. april 2011 - 00:38 #10
og et svar
Avatar billede kkieldsen Nybegynder
25. april 2011 - 00:41 #11
tak for hjælpen.. Hvis postnummer er blankt skal den retunere "unknown" - how to do that?
Avatar billede arne_v Ekspert
25. april 2011 - 02:15 #12
case when tbl.postnummer < 2000 then 'Hovedstaden' when tbl.postnummer >= 2000 and tbl.postnummer < 4000 then 'Sjælland' when tbl.postnummer is null then '' else 'ikke djævleøen' end

vil jeg tro
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