Я собираюсь дать вам полу-ответ, потому что я не могу быть уверен в том, что лучше с точки зрения производительности, извините. Но тогда я уверен, что другие люди получили хорошие советы на этот счет.
Я буду придерживаться вашей части «общей практики».
Итак, дерево скалярных функций кажется мне естественным решением в этом случае. Почему вы хотите, чтобы значение, целочисленное значение было возвращено - для этого и нужны скалярные функции?
Но тогда, если бы я мог видеть вероятность того, что позже мне понадобится более одного значения, я мог бы тогда подумать о переключении на TVF. С другой стороны, что, если вы уже реализовали свою скалярную функцию и использовали ее во многих местах своего приложения, и теперь вам нужно вернуть строку, столбец или таблицу значений, используя в основном ту же логику?
На мой взгляд (без каламбура) представление может стать чем-то вроде наибольшего общего делителя для скалярных и табличных функций. Функции должны будут только применять параметры.
Теперь вы сказали, что планируете только выбрать, какой вариант использовать. Тем не менее, учитывая вышеизложенное, я по-прежнему считаю, что представления могут быть хорошим выбором и окажутся полезными при масштабировании вашего приложения, и вы могли бы фактически использовать как представления, так и функции (если только это не слишком сильно сказывалось на производительности), так же как и я описано.