我试图从名称中包含特定字符串的列中获取数据,在我的例子中是 PLA。虽然它们是一种选择值在哪里的方法,如 MySQL query String contains .列名有类似的方法吗?
SELECT COLUMN NAMES LIKE '%PLA%' FROM `TABLENAME` WHERE MONTH=? AND YEAR=?
最佳答案
SELECT COLUMN NAMES
在 MySQL 中无效。有类似的东西,例如 DESCRIBE [table];
或 SHOW COLUMNS FROM [table];
,但你不能在它们上面放置 WHERE 子句。更好的方法是使用 INFORMATION_SCHEMA
虚拟数据库,例如-
SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA`='[database name]' and `TABLE_NAME`='[table name]'
AND `COLUMN_NAME` LIKE '%PLA%'
参见 http://dev.mysql.com/doc/refman/5.6/en/columns-table.html获取更多信息。
关于MySQL:选择包含字符串的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19851343/