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クエリを試しましたが、うまくいきません..

シート 1 から '%1%' のように 1 を選択します。

それはこの短いものの何かを示しています

1 LIKE '%1%'
         1
         1
4

3 に答える 3

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 に答える
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

ドキュメントはこちら

SHOW COLUMNS FROM tbl_name FROM db_name
LIKE '1%'

それぞれの列の内容を取得するには:

SQL フィドル

于 2013-01-12T11:10:17.300 に答える