名前に文字列が含まれている場合に特定の列を選択するクエリを実行したいと考えています。したがって、実行したい列 col_1、col_2、col_3、example_1、example_2 があるとします。
SELECT example_1, example_2 FROM `table`
しかし、パターンマッチで..だから:
SELECT LIKE %`example_`% FROM `table`
どこでもこれを行う方法が見つからないようです
列の名前の列の値に使用できるように、ワイルドカードを使用することはできません。最善の方法は、php などのサーバー側言語を使用して、列名として変数を使用してクエリを作成することです。例えば..
$query = 'select ' . $columnName1 . ', ' . $columnName2 . ' from myTable;';
標準SQLではできません。列名は、SQL のデータのようには扱われません。
たとえば、列名、型などを格納するメタデータ テーブルを持つ SQL エンジンを使用する場合は、代わりにそのテーブルを選択できます。
次のクエリを使用して、同様の列名を取得できます。
select * from information_schema.columns where table_name='table1' and column_name like 'a%'