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

回到顶部