3.1 数据类型介绍
3.1.1 数据类型的分类
布尔类型
boolean
同mysql中的bool、boolean,占用1字节
数值类型
smallint:2字节整数 int:4字节整数 bigint:8字节整数 numeric:精确类型的小数 real、double precision:非精确类型浮点数 money:8字节货币
无Mysql中的unsigned整数类型 无mysql中的tinyint 1字节整数类型 无mysql中的mediumint 3字节整数类型
二进制数据类型
bytea
同mysql中的blob、longblob
位串类型
值为由0或1组成的字符串 有bit(n)与bit varying(n)两种类型
mysql也支持该类型,但postgreSQL支持更长的bit位,最长可支持83886080
日期和时间类型
date time timestamp 其中time和timestamp又根据是否包含时区分为两种类型
postgreSQL可以精确到秒以下,比如毫秒;但范围与Mysql相比差距较大
枚举类型
postgreSQL需要先使用CREATE TYPE语句来创建该类,Mysql中使用enum
几何类型
point:点 line:直线 lseg:线段 path:路径 polygon:多边形 cycle:圆 等等
postgreSQL特有类型
网络地址类型
cidr inet macaddr
postgreSQL特有类型
数组类型
可以存储一个数组
postgreSQL特有类型
复合类型
可以吧已有的简单类型组合成用户字自定义的类型,如C语言中的结构体
对应其他数据库的自定义类型
xml类型
可以存储xml数据的类型
json/jsonb类型
可以存储json类型
range类型
范围类型,可以存储范围数据
postgreSQL特有类型
对象标识符类型
postgreSQL内部标识对象的类型: oid regproc regclass
伪类型
不能作为字段类型,但可以声明函数的参数或者结果类型: any、anyarray、anyelement、cstring、internal、language_handler、record、trigger、void、opaque等
其他类型
一些不容易分类的类型都放在这里,比如:UUID、pg_lsn等
3.1.2 数据类型的输入与转换
简单数据类型:
数字:直接输入
字符串:添加引号
复杂类型:
可以通过
类型名 '值'
所有类型都可以使用这个方式
类型转换函数:
CAST(值 as 类型)类型转换便捷:
值::类型
最后更新于