У меня есть столбец типа varchar в моей таблице sql (SQL 2008) для хранения оценок учащихся. Если я сохраняю только метки, я могу вычислить сумму меток, переведя столбец в целое.sql sum + varchar
Но мне нужно хранить Absent
для отсутствующих. И теперь его ошибка отображения в том, что Absent
при литье в целое число и суммирование значения после вставки Absent
.
Можно ли суммировать только знаки, и за исключением Absent
? Я попытался как этот
select sum(cast(Marks as integer))
from Results
group by Marks
Это очень плохой дизайн. Я бы использовал столбец «Marks INT» и оставил его «NULL», когда ученик отсутствовал. Таким образом, вы можете (а) легко суммировать свои оценки (поскольку это уже «INT»), а те записи с «NULL» - это те, в которых ученик отсутствовал, - нет необходимости хранить это как столбец «Varchar», действительно .... –
Вы правы marc_s, но мне также нужно обращаться с Absentees, вот что. так или иначе допустим null также – shanish
'Marks IS NULL' -> absentee - не работает? Или если нет: добавьте столбец 'BIT'' IsAbsentee', но ** не ** храните что-то вроде этого как 'varchar'! –