Выражение CASE в PostgreSQL совпадает с выражением IF/ELSE в других языках программирования. github.com neon.tech
С помощью оператора CASE можно прописывать условия в SQL-запросе: если выполняется одно условие, то результат должен быть таким-то, а если выполняется другое условие, то таким-то. vk.com
Некоторые особенности работы выражения CASE:
- Каждое условие в нём представляет собой выражение, возвращающее результат типа boolean. postgrespro.ru
- Если условием оказывается true, значением выражения CASE становится результат, следующий за условием, а остальная часть выражения CASE не вычисляется. postgrespro.ru
- Если условие не выполняется, за ним таким же образом проверяются все последующие предложения WHEN. postgrespro.ru
- Если не выполняется ни одно из условий WHEN, значением CASE становится результат, записанный в предложении ELSE. postgrespro.ru
- Если при этом предложение ELSE отсутствует, результатом выражения будет NULL. postgrespro.ru