データベース内でワイルドカードを含む列を動的に選択するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-03 00:00:03
オリジナル
1001 人が閲覧しました

How can I dynamically select columns with wildcards in a database?

ワイルドカードを使用した動的な列の選択

同様のプレフィックスを持つ多数の列があるデータベースでは、特定の列を選択するのが難しい場合があります。この問題に対処するには、目的の列名に適応する動的 SQL クエリを作成することを検討してください。

説明のために、「野菜 A」、「野菜 B」などの列を持つ「食品」という名前のテーブルがあると仮定します。私たちの目標は、特定の単語、たとえば「野菜」で始まるすべての列を選択することです。

ワイルドカード「$Food」を使用しようとした元のクエリは効果がないことが判明しました。実行可能な解決策には、LIKE 演算子を利用して列を目的のプレフィックスと照合する、動的に構築された SQL クエリの利用が必要です。次のクエリが開始点となります。

<code class="sql">SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Foods'
AND table_schema = 'YourDB'
AND column_name LIKE 'Vegetable%'</code>
ログイン後にコピー

このクエリでは、条件を満たす列名を取得するために INFORMATION_SCHEMA.COLUMNS ビューが使用されます。 table_name フィルターと table_schema フィルターにより、検索が目的のテーブルとデータベースに限定されます。最後に、LIKE 演算子の '%' ワイルドカードは任意の文字シーケンスと一致するため、「vegetable」で始まるすべての列をキャプチャできるようになります。

以上がデータベース内でワイルドカードを含む列を動的に選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート