1

如何从数据库表中找到相似的列名?

例如

一个数据库表

1_1  1_2  1_3  5_6  67
    |    |    |    |   
    |    |    |    |

因此,1_1、1_2、1_3、5_6 和 67 是数据库表的列名。我只想检索以 1 开头的列名(1_1、1_2 和 1_3)。我尝试了 sql 查询,但它工作..

SELECT 1 LIKE '%1%' FROM sheet1;

它显示了这么短的东西

1 LIKE '%1%'
         1
         1
4

3 回答 3

0

文档在这里找到

SHOW COLUMNS FROM tbl_name FROM db_name
LIKE '1%'

要获取相应列的内容:

SQL小提琴

于 2013-01-12T11:10:17.300 回答
0

这可能对你有用

SELECT COLUMN_NAME from information_schema.COLUMNS where TABLE_NAME='table' AND TABLE_SCHEMA='database_name'

information_schema 是包含有关所有数据库的元数据的数据库,因此当您需要此类数据时,只需对其进行查询

于 2013-01-12T11:21:30.693 回答
0

试试这个:

SELECT GROUP_CONCAT(COLUMN_NAME) INTO @s 
FROM information_schema.COLUMNS 
WHERE TABLE_SCHEMA = 'database_name' AND TABLE_NAME = 'tableName' AND 
      COLUMN_NAME LIKE '1%';

SET @sql = CONCAT('SELECT ', @s, ' FROM tableName');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
于 2013-01-12T12:23:09.137 回答