MySQL在查询中执行函数

时间:2014-11-05 05:55:14

标签: mysql

我写了一个像这样的

的mysql查询
select concat(b.functionName,'(',id,')') as outPut from ( SELECT id
FROM   test _table ) a join my_all_functions_table b on a.fID = b.id;

我想要做的是仅在从表中获取其名称后才执行函数。函数名存储在my_all_functions_table中,我获取了该函数名,并尝试在查询中执行该函数。但是,查询不是执行函数,而是将函数调用作为字符串返回。即如果函数名称为func,则它返回select 'func('id')'作为字符串,但我希望该函数能够执行。任何人都可以告诉我在这里缺少什么。

1 个答案:

答案 0 :(得分:1)

请试试这个:

SET @_query_text = CONCAT('select ', (select concat(b.functionName,'(',id,')') as outPut from ( SELECT id FROM test _table ) a join my_all_functions_table b on a.fID = b.id));

PREPARE qry from @_query_text;

EXECUTE qry;

我希望它有所帮助。