Задать вопрос
  • MySQL JSON_OBJECT Приводит значение к строковому типу, возможно ли это как то обойти?

    @SanekIrk Автор вопроса
    Смог добиться нужного результата путём оборачивания строки (или любой другой не 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
            )
        );

    По скорости выполнения запроса сильных просадок не заметил.
    Ответ написан
    Комментировать