Используя T-SQL, как вы рассчитываете процент тестов? - PullRequest
1 голос
/ 28 сентября 2010

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

Select round((133 / 150), 2) * 100

Это приводит к 0. Я пытаюсь рассчитать, чтобы получить оценку 89%. Я пробовал несколько комбинаций, и я начинаю думать, что это слишком сложно сделать с t-sql или это невозможно. Чего мне не хватает?

Ответы [ 2 ]

4 голосов
/ 28 сентября 2010

Попробуйте это:

Select round((cast(133 as numeric(20,8))/ cast(150 as numeric(20,8))) * 100, 2)

Вы используете целые числа в своем примере, когда вам нужны десятичные значения. См. здесь для получения дополнительной информации.

3 голосов
/ 28 сентября 2010

Попробуйте:

Select round(133.0 / 150) * 100 

int, деленное на int, представляет собой int, а 1/2 = 0 (целочисленное усечение)

В более общем случае, если вы убедитесь, что числитель - это число с плавающей запятой (вещественное / десятичное):

Select round(CAST(integervalue as real) / 150) * 100 
...