PostgreSQL数据库的数据类型详细讲解二

美女程序员鼓励师

PostgreSQL提供了丰富的数据类型数据类型是我们在创建表的时候为每个字段设置的。这样做的好处是用户可以使用 CREATE TYPE 命令在数据库中创建新的数据类型。PostgreSQL 的数据类型有很多种,下面我们具体来讲解。

日期/时间类型

下表列出了 PostgreSQL 支持的日期和时间类型。

名字存储空间描述最低值最高值分辨率timestamp [ (p) ] [ without time zone ]8 字节日期和时间(无时区)4713 BC294276 AD1 毫秒 / 14 位timestamp [ (p) ] with time zone8 字节日期和时间,有时区4713 BC294276 AD1 毫秒 / 14 位date4 字节只用于日期4713 BC5874897 AD1 天time [ (p) ] [ without time zone ]8 字节只用于一日内时间00:00:0024:00:001 毫秒 / 14 位time [ (p) ] with time zone12 字节只用于一日内时间,带时区00:00:00+145924:00:00-14591 毫秒 / 14 位interval [ fields ] [ (p) ]12 字节时间间隔-178000000 年178000000 年1 毫秒 / 14 位

布尔类型

PostgreSQL 支持标准的 boolean 数据类型。

boolean 有"true"(真)或"false"(假)两个状态, 第三种"unknown"(未知)状态,用 NULL 表示。

名称存储格式描述boolean1 字节true/false

枚举类型

枚举类型是一个包含静态和值的有序集合的数据类型。

PostgtesSQL中的枚举类型类似于 C 语言中的 enum 类型。

与其他类型不同的是枚举类型需要使用 CREATE TYPE 命令创建。

CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');

创建一周中的几天,如下所示:

CREATE TYPE week AS ENUM ('Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun');

就像其他类型一样,一旦创建,枚举类型可以用于表和函数定义。

CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');CREATE TABLE person (

    name text,

    current_mood mood);INSERT INTO person VALUES ('Moe', 'happy');SELECT * FROM person WHERE current_mood = 'happy';

 name | current_mood 

------+--------------

 Moe  | happy(1 row)


几何类型

几何数据类型表示二维的平面物体。

下表列出了 PostgreSQL 支持的几何类型。

最基本的类型:点。它是其它类型的基础。

名字存储空间说明表现形式point16 字节平面中的点(x,y)line32 字节(无穷)直线(未完全实现)((x1,y1),(x2,y2))lseg32 字节(有限)线段((x1,y1),(x2,y2))box32 字节矩形((x1,y1),(x2,y2))path26+16n 字节闭合路径(与多边形类似)((x1,y1),...)path26+16n 字节开放路径[(x1,y1),...]polygon40+16n 字节多边形(与闭合路径相似)((x1,y1),...)circle24 字节圆<(x,y),r> (圆心和半径)

以上是 PostgreSQL数据库的数据类型详细讲解二 的全部内容, 来源链接: utcz.com/z/542858.html

回到顶部