Я не могу получить пустой результат в операторе CASE
. Следующий запрос возвращает NULL
в качестве результата:
SELECT CASE WHEN ('test' IS NULL) THEN (SELECT 'null_result') ELSE (SELECT 'empty_result' WHERE 1<>1) END;
Я хочу получить пустой результат (без строк).
Это не мой ответ, я хочу получить пустой результат (без строк)
Пожалуйста, отредактируйте свой вопрос, чтобы включить более подробное описание того, что вы хотите сделать. Если возможно, предоставьте минимальный воспроизводимый пример, как описано в meta.stackoverflow.com/questions/333952/…. Возможно, использование CASE
в данном случае неверно.
Вы можете отфильтровать значения NULL
во внешнем предложении WHERE
.
SELECT CASE WHEN ('test' IS NULL) THEN (SELECT 'null_result') ELSE (SELECT 'empty_result' WHERE 1<>1) END
WHERE CASE WHEN ('test' IS NULL) THEN (SELECT 'null_result') ELSE (SELECT 'empty_result' WHERE 1<>1) END IS NOT NULL;
или
SELECT *
FROM (
SELECT CASE WHEN ('test' IS NULL) THEN (SELECT 'null_result') ELSE (SELECT 'empty_result' WHERE 1<>1) END as result_case
) x
WHERE result_case IS NOT NULL;
Возможный дубликат Когда использовать одинарные, двойные кавычки и обратные кавычки в MySQL