Вам небезразличен тип деления. Я бы снял бросок, чтобы плавать. Но это ваш выбор.
Для меня самое простое решение - умножить на 1.0
перед делением:
CAST(cte1.[F&B] AS FLOAT) * CAST (cte1.[RN] * 1.0 / cte1.[Total RN] AS FLOAT) AS [F&B_Split],
CAST(cte1.[F&B] AS FLOAT) * CAST (cte1.[RN] * 1.0 / cte1.[Total RN] AS FLOAT) / CAST(cte1.[GN] AS FLOAT) AS [F&B_Split_PerGN]
Или:
cte1.[F&B] * cte1.[RN] * 1.0 / cte1.[Total RN] AS [F&B_Split],
cte1.[F&B] * cte1.[RN] * 1.0 / cte1.[Total RN] AS [F&B_Split_PerGN]
Если вам нужен конкретный тип для выражения, преобразуйте полное выражение :
convert(float, cte1.[F&B] * cte1.[RN] * 1.0 / cte1.[Total RN]) AS [F&B_Split],
convert(float, cte1.[F&B] * cte1.[RN] * 1.0 / cte1.[Total RN]) AS [F&B_Split_PerGN]