もうベストアンサーが出ているので今更どうかなとも思いましたが、MySQLだけでできるので一応書きます。
ちょと複雑な形になるので一般的ではないかもしれませんが、ユーザー定義変数を使えばできます。
下記の例は hogeデータベースのfugaテーブルの中のpiyoが名前につくカラムだけを出力するSQLです。
ポイントはconcatの中の'select 'と' From'のところにある半角スペースを忘れないことです。
そのスペースがないとSELECTpiyo_1,piyo_2... みたいにSQLじゃなくなるので
sql
1
2SET @s = CONCAT('SELECT ',(SELECT GROUP_CONCAT(column_name) FROM information_schema.columns WHERE table_schema = 'hoge' AND table_name='fuga' AND column_name LIKE '%piyo%'), ' FROM fuga');
3PREPARE stmt FROM @s ;
4EXECUTE stmt;
5
参考資料:MySQL5.6のリファレンスマニュアル/言語構造/ユーザー定義変数
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。