SQL: округлить до 1 десятичной точки - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь округлить свое значение до одного десятичного знака, ниже приведен пример, который я пробовал.

INPUT     DESIRED OUTPUT
129.700   129.7
129.769   129.8

Я пытался

SELECT CAST(ROUND(('129.768'),0) AS DECIMAL(10,1))
FROM Table1

не дает правильное значение.

Пожалуйста, помогите.

1 Ответ

1 голос
/ 24 марта 2020

Вы хотите один ди git после запятой, так что это будет аргумент 1, а не 0:

SELECT CAST(ROUND('129.768', 1) AS DECIMAL(10, 1))

Я не уверен, почему вы чувствуете необходимость преобразовать обратно в десятичную - если вы не сохраняете значение в таблицу и не хотите управлять типом. Это также делает то, что вы хотите:

SELECT ROUND('129.768', 1) 
...