我正在尝试从名称中包含特定字符串的列中获取数据,在我的情况下它是PLA。尽管它们是一种选择值在MySQL 查询 String contains 中的位置的方法。列名有类似的方法吗?
SELECT COLUMN NAMES LIKE '%PLA%' FROM `TABLENAME` WHERE MONTH=? AND YEAR=?
我正在尝试从名称中包含特定字符串的列中获取数据,在我的情况下它是PLA。尽管它们是一种选择值在MySQL 查询 String contains 中的位置的方法。列名有类似的方法吗?
SELECT COLUMN NAMES LIKE '%PLA%' FROM `TABLENAME` WHERE MONTH=? AND YEAR=?
SELECT COLUMN NAMES
在 MySQL 中无效。有类似的东西,比如DESCRIBE [table];
or 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。
你试过这个吗?
SELECT (SELECT COLUMN NAMES FROM 'TABLENAME') AS CNAME WHERE CNAME LIKE '%PLA%'