Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выбор вывода в зависимости от условия / 4 сообщений из 4, страница 1 из 1
23.08.2019, 10:52
    #39853157
hysgvarna
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор вывода в зависимости от условия
CREATE DEFINER=`xxx`@`xxx` PROCEDURE `MUL`(lang varchar(2))
BEGIN

SELECT COALESCE(JSON_EXTRACT(GroupName, CONCAT("$.", COALESCE(lang, 'ru'))),
JSON_EXTRACT(GroupName, "$.ru"), (SELECT name1 FROM MUL_LANG)) text
FROM PriceGroup;

END


Нужно реализовать вывод информации в зависимости от содержимого. если json строка то выводить по существующему алгоритму, а если обычная текстовая строка, то выводить без обертывания.
...
Рейтинг: 0 / 0
23.08.2019, 12:21
    #39853203
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор вывода в зависимости от условия
...
Рейтинг: 0 / 0
23.08.2019, 13:36
    #39853246
hysgvarna
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор вывода в зависимости от условия
Akina,

Решил вопрос немого проще


CREATE DEFINER=`xxx`@`xxx` PROCEDURE `MUL`(lang varchar(2))
BEGIN

SET @column_name = 'GroupName';
SET @table_name = 'PriceGroup';

SET @tupe = (SELECT DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = @table_name AND
COLUMN_NAME = @column_name);

CASE

WHEN @tupe = 'json'
THEN
SELECT COALESCE
(JSON_EXTRACT(@column_name, CONCAT("$.", COALESCE(lang, 'ru'))),
JSON_EXTRACT(@column_name, "$.ru"), (SELECT name1 FROM MUL_LANG)) text
FROM @table_name;

WHEN @tupe = 'varchar'
THEN

SELECT @column_name FROM @table_name;

END CASE;

END

Данная программа в любом случае выведет значения столбца, а если это json, то еще и с выборкой языка
...
Рейтинг: 0 / 0
23.08.2019, 14:23
    #39853266
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор вывода в зависимости от условия
ЭТО - проще? ну тебе виднее... тогда на всякий случай проверяй ещё и SCHEMA_NAME...
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выбор вывода в зависимости от условия / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]