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

biginteger配列関数


    独自の関数に置き換えることができます。これはかなり速いです:

    CREATE OR REPLACE FUNCTION arr_subtract(int8[], int8[])
      RETURNS int8[] AS
    $func$
    SELECT ARRAY(
        SELECT a
        FROM   unnest($1) WITH ORDINALITY x(a, ord)
        WHERE  a <> ALL ($2)
        ORDER  BY ord
        );
    $func$  LANGUAGE sql IMMUTABLE;
    

    電話:

    SELECT arr_subtract('{3,5,6,7,8,9}':: int8[], '{3,4,8}'::int8[]);
    

    結果:

    {5,6,7,9}
    

    アレイの元の順序を保持します。

    関連:

    • 要素番号付きのPostgreSQLunnest()
    • 一致した配列要素を除外する



    1. PostgreSQLデータベースを作成する方法

    2. AutoMySQLBackupを使用してMySQLデータベースをバックアップする方法

    3. MySQLのWHERE列=での疑問符の重要性は何ですか?

    4. データの削除/ロードスクリプトを実行する前に、Oracleデータベースをロックします