sql >> データベース >  >> RDS >> PostgreSQL

テーブル全体で単一の値を確認してください

    PostgreSQL型システムの特別な機能を使用できます:

    SELECT *
    FROM   tbl t
    WHERE  t::text LIKE '%999999%';
    

    複合タイプ があります PostgreSQLで作成するすべてのテーブルに同じ名前を付けます。そして、textがあります PostgreSQLのすべてのタイプの表現(値を入力/出力するため)。

    したがって、行全体をtextにキャストするだけです。 文字列「999999」が任意の列(そのtext)に含まれている場合 表現、正確には)上記のクエリに表示されることが保証されています。

    誤検知を除外することはできません ただし、Postgresが行表現に使用するセパレータやデコレータを検索語の一部にすることができる場合は完全に。ただ非常に ありそうもない。そして、検索用語「999999」には当てはまりません。

    最近、codereview.SEで非常によく似た質問がありました。 回答にもう少し説明を追加しました



    1. date_part()がPostgreSQLでどのように機能するか

    2. biginteger配列関数

    3. ソートされていますか? T-SQLウィンドウの順序に関するヒント

    4. 開発データベースと本番データベースを同期する方法