PostgreSql 数据类型

一、数据类型表

分类名称说明与其他数据库的对比
布尔类型pg支持sql标准的boolean数据类型与mysql中的bool、boolean类型相同,占用1字节存储空间
数值类型2字节的smallint、4字节的integer、8字节的bigint、精确类型的小数numeric、非精确的浮点小数real和double precision、自增序列类型serial,bigserial、8字节的货币money无mysql中的unsigned整数类型,无mysql中1字节的tinyint整数类型和3字节的mediumint整数类型。
字符类型varchar(n)、chat(n)、text3种类型pg中的varchar(n)最大可以存1GB,mysql中的varchar(n)最大只能是64kb,pg中的text相当于mysql中的longtext
二进制数据类型只有一种bytea类型对应mysql中的blob和longblob类型
位串类型由1和0组成的字符串,有bit(n),bit varying(n)两种类型mysql也支持此类型,不过pg可以支持更长的bit位,最长可支持83886080个bit位
日期和时间类型有date、time、timestamppg中可以精确到秒以下,如毫秒,mysql 5.6也可以精确到毫秒,不过日期时间范围与 mysql 差异较大
枚举类型枚举类型是一个包含一系列有序静态值的集合的数据类型,相当于某些编程语言中的enum类型pg使用枚举类型需要先使用create type 语句创建该类型,mysql中也有枚举类型(enum)
几何类型点(point)、直线(line)、线段(lseg)、路径(path)、多边形(polygon)、圆(cycle)等类型pg中特有的类型,其他数据库中一般没有此类型
网络地址类型cidr、inet、macaddrpg中特有的类型,其他数据库中一般没有此类型
数组类型可以存储一个数组pg中特有的类型,其他数据库中一般没有此类型
复合类型可以把已有的简单类型组合成用户自定义的类型,如C语言中的结构体对应其他数据库的自定义类型
xml类型可以存储xml数据的类型N/A
json/jsonb类型可以存储json数据的类型N/A
range类型范围类型,可以存储范围数据其他数据库中无此类型
对象标识符类型pg内部表示对象的类型,如oid类型、regproc类型、regclass类型等N/A
伪类型伪类型不能作为字段的数据类型,但它可以用于声明函数的参数或结果的类型,有any、anyarray、anyelement、cstring、internal、language、handler、record、trigger、void、opaque等10种类型N/A
其他类型不易分类的类型放到这里,如uuid类型、pg_lsn类型等N/A

二、常用的两种类型转换方式

select cast('5' as int),cast('2023-06-25' as date);
select cast(department_id as varchar),department_name from dept;

select '5'::int,'2023-06-25'::date;
select department_id::varchar,department_name from dept;

三、常用的转换函数及操作符

布尔类型操作符:https://xiaosonggong.blog.csdn.net/article/details/131416704
数学函数及操作符:https://xiaosonggong.blog.csdn.net/article/details/131416741
字符串函数及操作符:https://blog.csdn.net/songyundong1993/article/details/131416803?spm=1001.2014.3001.5501

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脑子进水养啥鱼?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值