Postgresql数据类型-数据类型转换

PostgreSQL数据类型转换主要有三种方式:通过格式化函数、CAST函数、::操作符,下面分别介绍。

通过格式化函数进行转换

PostgreSQL提供一系列函数用于数据类型转换,如表所示。

通过CAST函数进行转换将varchar字符类型转换成text类型,如下所示:

        mydb=> SELECT CAST(varchar'123' as text);text------123(1 row)

将varchar字符类型转换成int4类型,如下所示:

        mydb=> SELECT CAST(varchar'123' as int4);int4------123

通过::操作符进行转换

以下例子转换成int4或numeric类型,如下所示:

        mydb=> SELECT 1::int4, 3/2::numeric;int4 |      ? column?------+--------------------1 | 1.5000000000000000(1 row)

另一个例子,通过SQL查询给定表的字段名称,先根据表名在系统表pg_class找到表的OID,其中OID为隐藏的系统字段:

        mydb=> SELECT oid, relname FROM pg_class WHERE relname='test_json1';oid  |  relname----------+------------16509 | test_json1(1 row)

之后根据test_json1表的OID,在系统表pg_attribute中根据attrelid(即表的OID)找到表的字段,如下所示:

        mydb=> SELECT attname FROM pg_attribute WHERE attrelid='16509' AND attnum >0;attname---------idname(2 rows)

上述操作需通过两步完成,但通过类型转换可一步到位,如下所示:

        mydb=> SELECT attnameFROM pg_attributeWHERE attrelid='test_json1'::regclass AND attnum >0;attname---------idname(2 rows)

这节介绍了三种数据类型转换方法,第一种方法兼容性相对较好,第三种方法用法简捷。

提示

pg_class系统表存储PostgreSQL对象信息,比如表、索引、序列、视图等,OID是隐藏字段,唯一标识pg_class中的一行,可以理解成pg_class系统表的对象ID;pg_attribute系统表存储表的字段信息,数据库表的每一个字段在这个视图中都有相应一条记录,pg_attribute.attrelid是指字段所属表的OID,正好和pgclass.oid关联。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/172110.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kvaser CAN硬件在Top Dutch Solar的遥测系统中发挥重要作用

Top Dutch Solar Racing(荷兰顶级太阳能赛车队)是2023年Bridgestone World Solar Challenge(普利司通世界太阳能挑战赛)的参赛车队之一,其赛车上搭载的Kvaser Ethercan HS是为基于Wifi的实时遥测系统捐赠的。Kvaser Me…

密钥安全存储方案探讨与实践

随着信息技术的迅猛发展和应用范围的不断扩大,我们日常生活中的许多方面已经与信息技术密不可分。而在信息安全领域中,密钥的安全存储显得尤为重要。本文将探讨密钥安全存储的必要性、相关技术和实践方案,并提出一些解决方案。 一、密钥安全存…

计算机视觉基础(6)——运动估计

前言 本章我们来学习一下图像处理基础中的运动估计。主要内容包括运动场估计和光流估计两个部分。在运动场估计中,我们将学习到运动场、光流、光流和运动场的区别;在光流估计中,我们将学习到光流估计任务、孔径问题,以及光流估计两…

腾讯云5年云服务器还有吗?腾讯云5年时长服务器入口在哪?

如果你是一名企业家或者是一个热衷于数字化转型的创业者,那么腾讯云最近推出的一项优惠活动绝对不会让你无动于衷。现在,腾讯云正在大力推广一项5年特价云服务器活动,只需要花费3879元,你就可以享受到腾讯云提供的优质服务。 腾讯…

分类预测 | Matlab实现PSO-GRU粒子群算法优化门控循环单元的数据多输入分类预测

分类预测 | Matlab实现PSO-GRU粒子群算法优化门控循环单元的数据多输入分类预测 目录 分类预测 | Matlab实现PSO-GRU粒子群算法优化门控循环单元的数据多输入分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 Matlab实现PSO-GRU粒子群算法优化门控循环单元的数据多…

JVM及其垃圾回收机制(GC)

目录 一.JVM内存区域划分 二.JVM类加载机制 类加载过程 类加载的时机 双亲委派模型 三.JVM垃圾回收机制(GC) GC工作过程 1.找到垃圾/判断垃圾 (1)引用计数【python/PHP】 (2)可达性分析【Java】 2.对象释放…

Spring Cloud学习(六)【统一网关 Gateway】

文章目录 网关的功能搭建网关服务路由断言工厂Route Predicate Factory路由过滤器 GatewayFilter过滤器执行顺序跨域问题处理 网关的功能 网关功能: 身份认证和权限校验服务路由、负载均衡请求限流 在SpringCloud中网关的实现包括两种: gatewayzuul …

盘点72个Python网站项目Python爱好者不容错过

盘点72个Python网站项目Python爱好者不容错过 学习知识费力气,收集整理更不易。 知识付费甚欢喜,为咱码农谋福利。 链接:https://pan.baidu.com/s/12twY8iZYhAG8BuyYXM7_bw?pwd8888 提取码:8888 项目名称 dailyfreshpython…

用excel计算矩阵的乘积

例如,我们要计算两个矩阵的乘积, 第一个矩阵是2*2的: 1234 第2个矩阵是2*3的: 5697810 在excel中鼠标点到其它空白的地方,用来存放矩阵相乘的结果: 选择插入-》函数: 选中MMULT,…

【PG】PostgreSQL高可用方案repmgr部署(非常详细)

目录 简介 1 概述 1.1 术语 1.2 组件 1.2.1 repmgr 1.2.2 repmgrd 1.3 Repmgr用户与元数据 2 安装部署 2.0 部署环境 2.1 安装要求 2.1.1 操作系统 2.1.2 PostgreSQL 版本 2.1.3 操作系统用户 2.1.4 安装位置 2.1.5 版本要求 2.2 安装 2.2.1 软件包安装 2.2…

数据结构—数组栈的实现

前言:各位小伙伴们我们前面已经学习了带头双向循环链表,数据结构中还有一些特殊的线性表,如栈和队列,那么我们今天就来实现数组栈。 目录: 一、 栈的概念 二、 栈的实现 三、 代码测试 栈的概念: 栈的概念…

通过 Elasticsearch 和 Go 使用混合搜索进行地鼠狩猎

作者:CARLY RICHMOND,LAURENT SAINT-FLIX 就像动物和编程语言一样,搜索也经历了不同实践的演变,很难在其中做出选择。 在本系列的最后一篇博客中,Carly Richmond 和 Laurent Saint-Flix 将关键字搜索和向量搜索结合起…