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

PostgreSQL配列に値が含まれているかどうかを確認する方法

    PostgreSQL配列に値が存在するかどうかを確認する必要がある場合があります。この記事では、PostgreSQL配列に値が含まれているかどうかを確認する方法を説明します。



    PostgreSQL配列に値が含まれているかどうかを確認する方法

    任意の関数を使用して、値がPostgreSQL配列に存在するかどうかを確認するのは非常に簡単です。

    これがANY関数の構文です。

    value = ANY (array)

    上記のステートメントでは、チェックする値と、その存在/不在をチェックする配列を指定する必要があります。任意の関数をSELECT列またはWHERE句で指定できます。

    丸括弧と一重引用符(「{1、2、3}」など)、配列データ型の列名、または結果が配列であるサブクエリを使用して、配列をリテラルとして指定できます。

    上記のステートメントは、True/Falseに対してt/fを返します。

    これがANYステートメントの簡単な例です。

    postgres=# SELECT 1 = ANY ('{1,2,3}'::int[]);
     ?column?
    ----------
     t
    
    postgres=# SELECT 4 = ANY ('{1,2,3}'::int[]);
     ?column?
    ----------
     f
    

    PostgreSQLで配列を更新するさまざまな方法を次に示します。次の配列列があるとします。

    # create table employees ( 
         id int, 
         name varchar, 
         sales integer[] 
    );

    上記の例では、列 salesを作成しました。 整数の配列として。

    配列列にもデータを挿入しましょう。

    # insert into employees (id, name, sales)
              values (1, ' John Doe', ARRAY [9,7,5,4,3,2]),
                     (2, ' Jim Day', ARRAY [8,6,3,2,9,2]);
    
    # select * from employees;
     id |   name    |     sales
    ----+-----------+---------------
      1 |  John Doe | {9,7,5,4,3,2}
      2 |  Jim Day  | {8,6,3,2,9,2}

    配列salesに値7が存在する行のみを選択するSQLクエリを次に示します。

    # select * from employees where 7=ANY(sales);
     id |   name    |     sales
    ----+-----------+---------------
      1 |  John Doe | {9,7,5,4,3,2}


    Ubiqを使用して配列の値を確認する

    Ubiqレポートツールは、上記のすべてのSQLクエリをサポートし、さまざまな方法でSQL結果を簡単に視覚化できるようにします。これが、Ubiqでの上記のSQLクエリです。 SQLクエリの結果をグラフやダッシュボードにプロットして、他のユーザーと共有することもできます。

    PostgreSQL用のレポートツールが必要ですか? Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。

    1. PostgreSql'PDOException'メッセージ'がドライバーを見つけられませんでした'

    2. 拡張機能pg_trgmから%演算子を使用するにはどうすればよいですか?

    3. Node.jsはMySQL8.0に対して認証できません

    4. すべてのMySQLデータベースを一度にエクスポートおよびインポートします