MySQL:选择包含字符串的列名

标签 mysql

我试图从名称中包含特定字符串的列中获取数据,在我的例子中是 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/

相关文章:

java - JPA异常: org. hibernate.exception.SQLGrammarException

php - 每个 Magento 模块 SQL 安装脚本不再运行

php - 计算mysql中的行数?

MySQL:可以增加表注释长度吗?

php - 什么更有效,为什么 : one db connection per page or one db connection per function?

java - TOP [N] 记录 Group By per user query in the best possible way

php - 从数据库返回计数

mysql - 什么更好 : INSERT NOW() or DEFAULT CURRENT_TIMESTAMP?

mysql - 从 PHP 将日期存储在 MySQL 中的最佳实践

asp.net - 如何在 GridView 中显示另一个表的计数?