Nur Ihr Problem
Below zu lösen ist, wie ich Ihr Format sezierte und Grundrechen anwenden, um die Sekunden zu erhalten.
declare @mytime varchar(100) = '7H35M49S'
select
isnull(NULLIF(left(@mytime, IIF(charindex('H',@mytime)=0,0,charindex('H',@mytime)-1)),''),0) -- to get Hours
,isnull(NULLIF(replace(left(replace(@mytime,left(@mytime, IIF(charindex('H',@mytime)=0,0,charindex('H',@mytime))),''),charindex('M',replace(@mytime,left(@mytime, IIF(charindex('H',@mytime)=0,0,charindex('H',@mytime))),''))),'M',''),''),0) -- to get M
,isnull(nullif(
left(replace(replace(@mytime,left(@mytime, IIF(charindex('H',@mytime)=0,0,charindex('H',@mytime))),''), left(replace(@mytime,left(@mytime, IIF(charindex('H',@mytime)=0,0,charindex('H',@mytime))),''), IIF(charindex('M',replace(@mytime,left(@mytime, IIF(charindex('H',@mytime)=0,0,charindex('H',@mytime))),''))=0,0,charindex('M',replace(@mytime,left(@mytime, IIF(charindex('H',@mytime)=0,0,charindex('H',@mytime))),'')))),'')
,iif(charindex('S',
replace(replace(@mytime,left(@mytime, IIF(charindex('H',@mytime)=0,0,charindex('H',@mytime))),''), left(replace(@mytime,left(@mytime, IIF(charindex('H',@mytime)=0,0,charindex('H',@mytime))),''), IIF(charindex('M',replace(@mytime,left(@mytime, IIF(charindex('H',@mytime)=0,0,charindex('H',@mytime))),''))=0,0,charindex('M',replace(@mytime,left(@mytime, IIF(charindex('H',@mytime)=0,0,charindex('H',@mytime))),'')))),'')
) = 0,0,
charindex('S',
replace(replace(@mytime,left(@mytime, IIF(charindex('H',@mytime)=0,0,charindex('H',@mytime))),''), left(replace(@mytime,left(@mytime, IIF(charindex('H',@mytime)=0,0,charindex('H',@mytime))),''), IIF(charindex('M',replace(@mytime,left(@mytime, IIF(charindex('H',@mytime)=0,0,charindex('H',@mytime))),''))=0,0,charindex('M',replace(@mytime,left(@mytime, IIF(charindex('H',@mytime)=0,0,charindex('H',@mytime))),'')))),'')
)-1)
)
,'')
,0) -- to get S
Demo hier:
die SQL-Datenbank? – maSTAShuFu
Ich benutze SQL Server Management Studio 17 – Brady
Das riecht wie Hausaufgaben. Hast du schon etwas probiert? Übrigens ist das Speichern von Zeit in diesem Format eine rundum wirklich schlechte Idee. –