|
Выбор вывода в зависимости от условия
|
|||
---|---|---|---|
#18+
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 строка то выводить по существующему алгоритму, а если обычная текстовая строка, то выводить без обертывания. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2019, 10:52 |
|
Выбор вывода в зависимости от условия
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2019, 12:21 |
|
Выбор вывода в зависимости от условия
|
|||
---|---|---|---|
#18+
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, то еще и с выборкой языка ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2019, 13:36 |
|
|
start [/forum/topic.php?fid=47&fpage=32&tid=1829005]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 304ms |
total: | 440ms |
0 / 0 |