Вы хотите один ди git после запятой, так что это будет аргумент 1
, а не 0
:
SELECT CAST(ROUND('129.768', 1) AS DECIMAL(10, 1))
Я не уверен, почему вы чувствуете необходимость преобразовать обратно в десятичную - если вы не сохраняете значение в таблицу и не хотите управлять типом. Это также делает то, что вы хотите:
SELECT ROUND('129.768', 1)