Oracle SQL — как отформатировать вывод, не показывая явное значение

Я делаю запрос к таблице результатов экзаменов. Студент успешно сдает экзамен, если набрал более 50 %. Я хочу, чтобы вывод запроса показывал 1, если оценка за экзамен выше 50% (т. е. экзамен сдан), и 0, если оценка ниже 50% (т. е. экзамен не пройден). Я не хочу, чтобы отображалась фактическая оценка экзамена.

    TURN THIS               INTO                 THIS

Exam no. Score Exam no. Score 1 37% => 1 0 2 84% 2 1 3 76% 3 1

Как мне это сделать? Я нашел несколько статей и страниц о форматировании результата с помощью пробелов, строк, переименовании столбцов и т. д., но я не могу понять, как использовать «репрезентативные значения».

Есть ли способ написать запрос, чтобы результат выглядел так, как в моем примере выше?


person user3428760    schedule 02.02.2018    source источник


Ответы (1)


Вы можете использовать выражение CASE:

select exam_no, 
       case 
          when score >= 50 then 1
          else 0
       end as score
from the_table;
person a_horse_with_no_name    schedule 02.02.2018
comment
Благодарю вас! Я не знал о деле Экспресссона. Он делает именно то, что мне нужно :) - person user3428760; 02.02.2018