MySQL SELECT语句:如何将变量的值显示到COLUMN标题中?[重复]

nbewdwxp  于 2023-03-28  发布在  Mysql
关注(0)|答案(2)|浏览(132)

此问题在此处已有答案

mysql - Dynamic column alias(2个答案)
昨天关门了。
如何将变量的值放入SELECT语句的COLUMN标题中,如下所示:

SET @myCaption := "This is my message:";
SET @myMessage := "Hello everyone!";
SELECT @myMessage     /*   as @myCaption */    ;

我希望看到这样的结果:

+---------------------+
| This is my message: |
+---------------------+
| Hello everyone!     |
+---------------------+

但可悲的是,我得到的是:

+-----------------+
| @myMessage      |
+-----------------+
| Hello everyone! |
+-----------------+

使用SELECT... AS...时,AS...不允许使用任何变量。

q9rjltbz

q9rjltbz1#

您可以使用预处理语句执行此操作,如下所示:

SET @myCaption := "This is my message:";
SET @myMessage := "Hello everyone!";
SET @sql = concat('SELECT "', @myMessage, '" AS "', @myCaption,'"');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
nbnkbykc

nbnkbykc2#

SELECT @myMessage

UNION 

SELECT @myCaption

UNION可以检索你想要的两个列

相关问题