mysql:使用LIKE选择多个列

时间:2018-10-26 06:48:28

标签: mysql sql

我有许多列,其形式为: rp_id_1 rp_id_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     |

我想念什么?我如何获取所有这些列的数据呢?谢谢。

2 个答案:

答案 0 :(得分:2)

我们可以使用动态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;

答案 1 :(得分:0)

选择

列名,*

FROM information_schema.columns

WHERE table_name ='loc_tbl'

AND column_name喜欢'rp%'“