Вряд ли.
Оценивают его в try..catch
или независимо от того, что Ваш язык обеспечивает.
Вы хотите умножить на миллисекунды, поскольку дробная часть отбрасывается.
SELECT DATEADD(ms, 121.25 * 1000, 0)
Если вы хотите, чтобы он был без даты, вы можете использовать CONVERT со стилем 114
SELECT CONVERT(varchar, DATEADD(ms, 121.25 * 1000, 0), 114)
Используя SQL Server 05, я могу заставить это работать, используя:
declare @OrigValue int;
set @OrigValue = 121.25;
select replace(str(@OrigValue/3600,len(ltrim(@OrigValue/3600))+abs(sign(@OrigValue/359999)-1)) + ':' + str((@OrigValue/60)%60,2) + ':' + str(@OrigValue%60,2),' ','0')