MySQL concat()创建要在查询中使用的列名?
我想以这样的方式串联列名:列名的第一部分是一个字符串,第二部分是一个数字,这是另一个查询的结果。
例如:
SELECT CONCAT('column', mytable.mycolumn) FROM table ...
能以某种方式做到这一点。这样,它不会给我带来错误,但是我没有得到预期的结果,并且似乎串联不起作用。
回答:
我之前曾说过无法做到这一点,但是我错了。我本人最终需要这样的东西,所以我环顾四周,发现服务器端准备好的语句使您可以从字符串构建和执行任意SQL语句。
这是我只是为了证明这一概念所做的一个示例:
set @query := ( select concat(
"select",
group_concat(concat("\n 1 as ", column_name) separator ','),
"\nfrom dual")
from information_schema.columns
where table_name = 'columns')
;
prepare s1 from @query
;
execute s1
;
deallocate prepare s1
;
以上是 MySQL concat()创建要在查询中使用的列名? 的全部内容, 来源链接: utcz.com/qa/404670.html