2009-12-14 3 views
1

Я пишу функцию, чтобы получить общую оценку в SQLПолучить более пунктов

Что я имею;

out of 20 points I got 12.4 points 

так что если я преобразую это, чтобы получить процент более 100%, как бы я это сделал?

Thanx, Аднан

+1

Есть ли у вас код? – hsz

+2

Вы сохраняете всю строку «из 20 пунктов, я получил 12,4 балла» в вашей базе данных, вместо того, чтобы использовать 2 числовых столбца? Можете ли вы опубликовать соответствующую часть определения вашей таблицы? –

+0

Какую базу данных вы используете? MS SQL-сервер? –

ответ

2

Предположив вы имеете в виду «функцию», как в хранимой процедуре, она будет выглядеть в Oracle:

create or replace function pct 
    (p_score in number 
    , p_total in number) 
    return number 
    deterministic 
is 
begin 
    return p_score * (100/p_total); 
end; 
/

Различные ароматы базы данных имеют различные спецификации для написания хранимых процедур.

+0

APC, ваш еще лучше, спасибо. – Adnan

+0

Хмм, не уверен, что я заслуживаю тех репрезентаций, как Аднан наградил их, пока я полностью переписал свой ответ, от SQL-запроса до sproc. – APC

3

Разделить точки вы получили в общей сложности, и умножить на 100:

select [got]/[total] * 100 
from MyTable 
+0

thanx, то есть – Adnan

0

(12,4/20) х 100 даст процент.

Так объявите процентную переменную в своей функции, используйте приведенное выше и верните это?

Смежные вопросы