Avatar billede qqq Nybegynder
19. februar 2008 - 00:52 Der er 7 kommentarer og
1 løsning

Variabel i Stored Procedure

SELECT Today=convert(nvarchar, GETDATE(), 112) + replace(convert(nvarchar, GETDATE(), 108), ':', '')

Ovenstående resulterer f.eks i følgende: "20080219004715"

Men hvis jeg i stedet ønsker resultatet af ovenstående gemt i en variabel, som jeg kan arbejde med i min SP, hvordan skal ovenstående så se ud?
Avatar billede kalp Novice
19. februar 2008 - 01:02 #1
declare @dato DateTime

@dato = SELECT Today=convert(nvarchar, GETDATE(), 112) + replace(convert(nvarchar, GETDATE(), 108), ':', '')
Avatar billede kalp Novice
19. februar 2008 - 01:04 #2
SELECT @dato = convert(nvarchar, GETDATE(), 112) + replace(convert(nvarchar, GETDATE(), 108), ':', '')

det vidst mere korrekt.
Avatar billede qqq Nybegynder
19. februar 2008 - 01:22 #3
Det virker desværre ikke. Jeg får følgende fejl, når jeg deklarer @dato som DateTime: Syntax error converting datetime from character string.

Hvis jeg i stedet deklarer @dato som nvarchar returnerer den blot "2" i stedet for dato og klokkeslet i formatet YYYYMMDDHHHHSS som jeg er ude efter.

Altså det jeg vil, er at gemme den pågældende dato og tid i en variabel med formatet YYYYMMDDHHHHSS.
Avatar billede the_party_dog Nybegynder
19. februar 2008 - 07:06 #4
Husker du at angive størrelsen på din nvarchar variabel?

declare @dato NVARCHAR(30)

SET @dato = convert(nvarchar, GETDATE(), 112) + replace(convert(nvarchar, GETDATE(), 108), ':', '')
Avatar billede the_party_dog Nybegynder
19. februar 2008 - 07:07 #5
Hov, der skal vist også størrelse på i dine convert sætninger...

declare @dato NVARCHAR(40)

SET @dato = convert(nvarchar(20), GETDATE(), 112) + replace(convert(nvarchar(20), GETDATE(), 108), ':', '')
Avatar billede qqq Nybegynder
19. februar 2008 - 10:30 #6
Så virkede det :)

kalp og the_party_dog - ligger i et svar.
Avatar billede the_party_dog Nybegynder
19. februar 2008 - 11:35 #7
there you go ;o)

Husk på at SQL serveren ikke kender størrelsen på dine ønsker, andet end du angiver dem. Datetime / smalldatetime / Bit / Int er faste størrelser, men resten skal du angive...
Avatar billede qqq Nybegynder
20. februar 2008 - 12:40 #8
I skal have tak for hjælpen!

the_party_dog --> Det skal jeg huske :)

kalp --> Jeg har brug for et svar fra dig, så du også kan få point.
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