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

PostgreSQLで演算子エイリアスを定義するにはどうすればよいですか?

    スキーマpg_catalogであるpgAdminを確認するだけです。すべての演算子があり、すべてのデータ型に対してそれらを作成する方法を示しています。はい、すべてのデータ型に対してそれらを作成する必要があります。したがって、これは単一の「エイリアス」ではなく、多くのエイリアスが必要です。

    !!!!を使用したchar=charの例エイリアスとして:

    CREATE OPERATOR !!!!   -- name
    (
      PROCEDURE = pg_catalog.chareq,
      LEFTARG = "char",
      RIGHTARG = "char",
      COMMUTATOR = !!!!, -- the same as the name
      RESTRICT = eqsel,
      JOIN = eqjoinsel,
      HASHES,
      MERGES
    );
    SELECT 'a' !!!! 'a' -- true
    SELECT 'a' !!!! 'b' -- false
    

    マニュアル を確認してください 同様に、命名規則に注意を払ってください、それはいくつかの制限があります。




    1. MySqlはクエリ結果から行オフセットを決定します

    2. DETERMINISTIC、NO SQL、または宣言内のREADS SQL DATAであり、バイナリロギングが有効になっています

    3. MySQLデータベース内のすべてのテーブルのレコード数を取得します

    4. パラメータを使用してOracleで関数を実行する方法