PostgreSQL错误: 操作符不存在: smallint = boolean

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: PostgreSQL错误: 操作符不存在: smallint = boolean


  • postgre账号下执行
CREATE OR REPLACE FUNCTION boolean_to_smallint(b boolean) RETURNS smallint AS $$
    BEGIN
            RETURN (b::boolean)::bool::int;
    END;
$$LANGUAGE plpgsql;
CREATE CAST (boolean AS smallint) WITH FUNCTION boolean_to_smallint(boolean) AS implicit;
  • 测试 is_leader字段为smallint类型
UPDATE public."user"
        SET is_leader=True
        WHERE id='125';

PostgreSQL 数据类型有3种转换:

  • 隐式转换 i(Implicit)
  • 赋值转换 a(Assignment)
  • 显式转换 e(Explicit)
    对应的转换类型存在系统表 pg_cast中

三者的转换关系为 i > a > e

可以隐式转换的一定可以赋值转换和显式转换

可以赋值转换的一定可以显式转换


相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
3月前
|
关系型数据库 测试技术 数据库
在 PostgreSQL 中使用 BETWEEN 操作符
【8月更文挑战第12天】
223 0
|
SQL 关系型数据库 PostgreSQL
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 11 章 索引_11.9. 操作符类和操作符族
11.9. 操作符类和操作符族 一个索引定义可以为索引中的每一列都指定一个操作符类。 CREATE INDEX name ON table (column opclass [sort options] [, ...]); 操作符类标识该列上索引要使用的操作符。
1251 0
|
SQL 关系型数据库 PostgreSQL
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 10 章 类型转换_10.2. 操作符
10.2. 操作符 被一个操作符表达式引用的特定操作符由下列过程决定。注意这个过程会被所涉及的操作符的优先级间接地影响,因为这将决定哪些子表达式被用作哪个操作符的输入。详见第 4.1.6 节。 操作符类型决定 从系统目录pg_operator中选出要考虑的操作符。
1336 0
|
SQL 关系型数据库 数据库
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符
第 9 章 函数和操作符 目录 9.1. 逻辑操作符 9.2. 比较操作符 9.3. 数学函数和操作符 9.4. 字符串函数和操作符 9.4.1. format 9.5. 二进制串函数和操作符 9.
1321 0
|
SQL 关系型数据库 PostgreSQL
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.28. 事件触发器函数
9.28. 事件触发器函数 9.28.1. 捕获命令结尾的改变 9.28.2. 通过DDL命令删除处理的对象 9.28.3. 处理表重写事件 PostgreSQL提供这些帮助函数用以从事件触发器中检索信息。
1429 0
|
SQL 关系型数据库 PostgreSQL
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.27. 触发器函数
9.27. 触发器函数 当前PostgreSQL提供一个内建的触发器函数suppress_redundant_updates_trigger, 它将阻止任何不会实际更改行中数据的更新发生,这与正常的行为不管数据是否改变始终执行更新相反(这是正常的行为,使得更新运行速度更快,因为不需要检查,并在某些情况下也是有用的)。
1242 0
|
SQL 监控 关系型数据库
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.26. 系统管理函数
9.26. 系统管理函数 9.26.1. 配置设定函数 9.26.2. 服务器信号函数 9.26.3. 备份控制函数 9.26.4. 恢复控制函数 9.26.5. 快照同步函数 9.26.6. Replication Functions 9.26.7. 数据库对象管理函数 9.26.8. 索引维护函数 9.26.9. 通用文件访问函数 9.26.10. 咨询锁函数 这一节描述的函数被用来控制和监视一个PostgreSQL安装。
1691 0
|
SQL 关系型数据库 数据库
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.25. 系统信息函数
9.25. 系统信息函数 表 9.60展示了多个可以抽取会话和系统信息的函数。 除了本节列出的函数,还有一些与统计系统相关的函数也提供系统信息。详见第 28.2.2 节。 表 9.60.
1397 0
|
SQL 关系型数据库 PostgreSQL
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.24. 集合返回函数
9.24. 集合返回函数 本节描述那些可能返回多于一行的函数。目前这个类中被使用最广泛的是级数生成函数, 如表 9.58和表 9.59所述。其他更特殊的集合返回函数在本手册的其他地方描述。 组合多集合返回函数的方法可见第 7.2.1.4 节。
1262 0
|
SQL 关系型数据库 PostgreSQL
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.23. 行和数组比较
9.23. 行和数组比较 9.23.1. IN 9.23.2. NOT IN 9.23.3. ANY/SOME (array) 9.23.4. ALL (array) 9.23.5. 行构造器比较 9.23.6. 组合类型比较 本节描述几个特殊的结构,用于在值的组之间进行多重比较。
1347 0

热门文章

最新文章