sql >> Database >  >> RDS >> PostgreSQL

Hoe definieer je een operatoralias in PostgreSQL?

Controleer gewoon pgAdmin, het schema pg_catalog. Het heeft alle operators en laat je zien hoe je ze maakt voor alle datatypes. Ja, je moet ze voor alle datatypes aanmaken. Het is dus niet zomaar een enkele "alias", je hebt veel aliassen nodig.

Voorbeeld voor een char =char, met !!!! als de alias:

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

Raadpleeg de handleiding en let op de naamgevingsregels, het heeft enkele beperkingen.




  1. mysql:efficiënte manier voor zoeken op postfix (zoals '%text' oftewel prefix wildcard)?

  2. MySQL:een reeks kolommen beperken, zodat ten minste één niet NULL is

  3. unieke indexschending tijdens update

  4. Geef tabel door als parameter in sql-server UDF