mysql:使用like选择多个列

vm0i2vca  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(287)

我有许多列的形式是:rp\u id\u 1 rp\u id\u 2等等。我想获取这些特定列的数据。在论坛上,我看到以下类型的问题被建议:

"SELECT column_name
FROM information_schema.columns
WHERE table_name='loc_tbl'
AND column_name LIKE 'rp%'"

但是,这只返回列名,而不返回数据。输出:

+-------------+
| column_name |
+-------------+
| rp_id_1     |
| rp_id_2     |
| rp_id_3     |

我错过了什么?如何获取所有这些列的数据?谢谢。

7ajki6be

7ajki6be1#

选择
列名称*
从information\u schema.columns
where table\u name='loc\u tbl'
和列名称,如'rp%'”

e3bfsja2

e3bfsja22#

我们可以使用动态mysql来实现这一点。从mysql命令行:

SELECT @cols := GROUP_CONCAT(column_name) FROM information_schema.columns
    WHERE table_name = 'loc_tbl' AND column_name LIKE 'rp%';
SET @query = CONCAT("SELECT ", @cols, " FROM lob_tbl");
PREPARE stmt FROM @query;
EXECUTE stmt;

相关问题