Avatar billede mosquito Nybegynder
22. marts 2006 - 10:42 Der er 10 kommentarer og
1 løsning

convert int til hh:mm format

fra db henter jeg en integer value der repræsentere minutter. Data skal vises i hh:mm format. Hvordan konverterer jeg på den mest hensigtsmæssige måde?
Avatar billede ldanielsen Nybegynder
22. marts 2006 - 10:47 #1
ok, hvis der nu står 523 (minutter), hvad skal den så vise? 7:43?
Avatar billede mosquito Nybegynder
22. marts 2006 - 10:50 #2
ja, netop.
Avatar billede mosquito Nybegynder
22. marts 2006 - 10:51 #3
hm... men gerne 8:43 så jeg ikke snyder nogen ;-)
Avatar billede ldanielsen Nybegynder
22. marts 2006 - 10:57 #4
Klart :o)

Se her (kør evt i query analyser):

DECLARE @hh int, @mm int, @input int, @output varchar(20)

SET @input = 523

SET @hh = @input / 60
SET @mm = @input - @hh * 60

SET @output = CONVERT(varchar(10), @hh) + ':' + RIGHT('0' + CONVERT(varchar(10), @mm), 2)

PRINT @output
Avatar billede ldanielsen Nybegynder
22. marts 2006 - 10:57 #5
Det kan laves til en user defined function, så det kan bruges direkte i en SELECT
Avatar billede mosquito Nybegynder
22. marts 2006 - 11:02 #6
tak for hjælpen. Så er jeg videre. UDF? men hvordan impl. jeg det i min sp?
Avatar billede ldanielsen Nybegynder
22. marts 2006 - 11:18 #7
CREATE FUNCTION dbo.f_IntToVarChar(@intInput int) 
RETURNS varchar(20) AS 
BEGIN

DECLARE @hh int, @mm int

SET @hh = @intInput / 60
SET @mm = @intInput - @hh * 60

RETURN CONVERT(varchar(10), @hh) + ':' + RIGHT('0' + CONVERT(varchar(10), @mm), 2)

END


Kan så kaldes med:

SELECT dbo.f_IntToVarChar(523) 

- direkte fra sp eller query


Husk nu bare de begrænsninger der måtte være, foudse hvad der vil ske hvis talet er meget stort, overvej om der skal kunne sorteres på det osv.
Avatar billede mosquito Nybegynder
22. marts 2006 - 11:26 #8
ALTER PROCEDURE dbo.Test
(1)
AS
(2)

uanset hvor jeg sætter UDF ind, får jeg en syntax fejl?? Som du kan se af spørgsmålene, mangler jeg erfaring med TSQL på flere områder, men alting har en begyndelse.

smid et svar, point er velfortjent ;-) og endnu engang tak for hjælpen
Avatar billede mosquito Nybegynder
22. marts 2006 - 11:27 #9
doo.. fejl er fundet
Avatar billede ldanielsen Nybegynder
22. marts 2006 - 12:57 #10
OK, ellers sig til

Tip: Når du kalder en UDF skal du altid adressere den med username.functionname (mindst) fx. dbo.f_Funktionsnavn(Inputparameter)
Avatar billede mosquito Nybegynder
22. marts 2006 - 13:02 #11
jo tak. Nu er det kun spørgsmålet http://www.eksperten.dk/spm/697035 som jeg endnu ikke har fundet en løsning på. Måske du har et forslag?
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