gpt4 book ai didi

database - 如何在 PostgreSQL 中定义运算符别名?

转载 作者:搜寻专家 更新时间:2023-10-30 20:45:37 25 4
gpt4 key购买 nike

有没有一种简单的方法可以为 = 定义运算符别名? PostgreSQL 中的运算符?

!= 是如何解决的?和 <>运算符(operator)?只有 <>运算符似乎在 pg_operators 中。是 !=运算符硬编码?

这是使用自定义运算符的应用程序所必需的。在大多数环境中,此运算符的行为应类似于 =。 ,但在某些情况下,我们通过创建自己的运算符和运算符类来定义特殊行为。但对于正常情况,我们的运算符应该只是 = 的别名。运算符,以便使用哪个实现对应用程序是透明的。

最佳答案

只需检查 pgAdmin,模式 pg_catalog。它包含所有运算符,并向您展示如何为所有数据类型创建它们。是的,您必须为所有数据类型创建它们。所以这不仅仅是一个“别名”,你需要很多别名。

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

检查 manual以及注意命名规则,它有一些限制。

关于database - 如何在 PostgreSQL 中定义运算符别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3470418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com