Если я правильно понимаю, я думаю, что правильный способ сделать это - сохранить данные в двух столбцах. Это особенно имеет смысл, если верхнее число - это фактическая оценка пользователя по проблеме, а нижнее число - это возможная оценка, что, по вашему мнению, и делает. Это позволит вам суммировать результаты, используя встроенные числовые функции в Oracle, а не анализировать строки. Затем вы ограничите размер каждого столбца (0-9), используя тип NUMBER(1,0)
. Например:
alter table table_name add (
column possible number(1,0),
column actual number(1,0)
);
Если у вас уже есть данные в столбце оценок, вы затем копируете свои значения оттуда в новые столбцы. Наконец, вы опускаете этот столбец.
alter table table_name drop score;
Кроме того, я бы выполнил поиск по «Oracle меньше, чем ограничение», потому что вы, вероятно, не хотите, чтобы фактическая оценка превышала возможную, и, вероятно, применили бы подобное ограничение, чтобы сделать возможную оценку больше нуля.