Смог добиться нужного результата путём оборачивания строки (или любой другой не json тип) в кавычки, а потом конвертируя результат в json. Теперь весь `CASE WHEN` стал возвращать json:
SELECT
JSON_OBJECT(
1,
(
CASE 'one'
WHEN 'one' THEN JSON_ARRAY(1, 2)
WHEN 'two' THEN CONVERT(JSON_QUOTE('1'), JSON)
END
)
);
По скорости выполнения запроса сильных просадок не заметил.
Ответ написан
Комментировать
Комментировать
Оценили как «Нравится»
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.