Чтобы получить часы, вы хотите разделить их на 60. Чтобы получить оставшиеся минуты, вы должны либо взять общее количество минут по модулю 60, либо разницу между общим количеством минут и часами по 60. Чтобы оставшееся количество отображалось в справа от десятичной точки, разделите на 100,0:
SELECT minutes / 60 + (minutes % 60) / 100.0 ...
Обратите внимание, что вы потеряете конечный ноль, и ИМХО сохранение продолжительности времени таким образом является плохой идеей, потому что а) вы не можете больше с этим заниматься математикой и б) кто-то может запутаться, когда увидит код позже.
Вам гораздо лучше использовать строковое представление, подобное следующему (и я рекомендую снова использовать ':' вместо '.' Для обозначения это не число ):
SELECT CAST((minutes / 60) AS VARCHAR(8)) + ':' +
RIGHT('0' + CAST((minutes % 60) AS VARCHAR(2)), 2) ...
Что касается создания пользовательской функции, вы можете создать хранимую процедуру и затем вызывать ее из другого кода. Обратите внимание, что хранимая процедура должна быть создана в каждой базе данных.
Не уверен, что создание хранимой процедуры стоит затраченных усилий, если только вы не хотите быть более изящным и возвращать строку, похожую на TimeSpan.