22. maj 2003 - 12:37Der er
13 kommentarer og 1 løsning
Konvertering af integer til klokkeslæt
jeg har en linked access database hvorfra jeg gerne vil hente nogle oplysninger over i min MS SQL database, desværre præsenteres klokkeslæt som int af varierende længde( 1-4 tegn) kan jeg konverterer disse integers til hh:mm ?
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
Højest sandsynligt fordi ikke alle Hensæt_KL er gyldige tal altså imellem 0 og 2359. Dvs. der er måske en integritetsfejl. Du kan evt. afsløre den vha.
SELECT COUNT(*), ISNULL(Hensæt_KL, '-1) FROM DATADB...RAP_1 procesdata GROUP BY Hensæt_KL ORDER BY 1 DESC
Du skal huske at kun at vælge de valide data... Gør sådan her:
select Hensæt_KL, convert(varchar(5), convert(datetime, '2359-01-01 ' + substring(RIGHT('000' + cast(Hensæt_KL as varchar), 4), 1, 2) + ':' + substring(RIGHT('000' + cast(Hensæt_KL as varchar), 4), 3, 4)),108) FROM DATADB...RAP_1 procesdata WHERE Hensæt_KL BETWEEN 0 AND 2359
Jeg har lavet en lille test, således at du kan se den rent faktisk gør hvad den skal:
declare @Hensæt_KL as varchar(50) set @Hensæt_KL = '0350' select @Hensæt_KL, convert(varchar(5), convert(datetime, '2359-01-01 ' + substring(right('000' + cast(@Hensæt_KL as varchar), 4), 1, 2) + ':' + substring(right('000' + cast(@Hensæt_KL as varchar), 4), 3, 4)),108)
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.