BIGSERIAL
SERIAL8 
存储自动递增的惟一整数,最多 8 字节。

BIT 
固定长度的位串。

BIT VARYING(n)
VARBIT(n) 
可变长度的位串,长度为 n 位。

BOOLEAN 
存储逻辑布尔值(true/false/unknown),可以是 TRUE、t、true、y、yes 和 1,或者 FALSE、f、false、n、no 和 0。

BYTEA 
用于存储大型二进制对象(比如图形)的原始二进制数据。使用的存储空间是 4 字节加上二进制串的长度。

CHAR(n)
CHARACTER(n) 
包含固定长度的字符串,用空格填充到长度 n。

DATE 
用 4 字节的存储空间存储日历日期(年、月、日)。

DATETIME 
存储日历日期和天内的时间。

DECIMAL(p,s)
NUMERIC(p,s) 
存储精确的数值,精度(p)和刻度(s)为 0 或更高。

FLOAT4
REAL 
存储浮点数,精度为 8 或更低和 6 个小数位。

FLOAT8
DOUBLE PRECISION 
存储浮点数,精度为 16 或更低和 15 个小数位。

SMALLINT 
存储有符号或无符号 2 字节整数。

INTEGER 
存储有符号或无符号 4 字节整数。

INT8
BIGINT 
存储有符号或无符号 8 字节整数。

SERIAL
SERIAL4 
存储自动递增的惟一整数值,最多 4 字节存储空间。

TEXT 
存储长度可变的大型字符串数据,最多 1 GB。PostgreSQL 自动压缩 TEXT 字符串。

TIME (WITHOUT TIME ZONE |
WITH TIME ZONE) 
存储天内的时间。如果不存储数据库服务器的时区,就使用 8 字节的存储空间;如果存储时区,就使用 12 字节。

TIMESTAMP (WITHOUT TIME ZONE |
WITH TIME ZONE) 
存储日期和时间。可以存储或不存储数据库服务器的时区,使用 8 字节存储空间。

VARCHAR(n)
CHARACTER VARYING(n)
CHARACTER VARYING 
存储可变长度的字符串,最大长度为 n。不存储末尾的空格。

 

类似Oracle ,PostgreSQL也有强大的类型转换函数, 下面仅举两个类型转换例子。

 
 
 

--1 例子
postgres=# select 1/4;
 ?column? 
----------
        0
(1 row)

在PG里如果想做除法并想保留小数,用上面的方法却行不通,因为"/" 运算结果为取整,并
且会截掉小数部分。

--2 类型转换
postgres=# select round(1::numeric/4::numeric,2);
 round 
-------
  0.25
(1 row)

备注:类型转换后,就能保留小数部分了。

--3 也可以通过 cast 函数进行转换
postgres=# select round( cast ( 1 as numeric )/ cast( 4 as numeric),2);
 round 
-------
  0.25
(1 row)

--4 关于 cast 函数的用法
postgres=# SELECT substr(CAST (1234 AS text), 3,1);
 substr 
--------
 3
(1 row)

--5 附: PostgreSQL 类型转换函数

Function Return Type Description Example

to_char
(timestamp, text

)

text convert time stamp to string to_char(current_timestamp, 'HH12:MI:SS')
to_char
(
interval, text
)
text convert interval to string to_char(interval '15h 2m 12s', 'HH24:MI:SS')
to_char
(
int, text
)
text convert integer to string to_char(125, '999')

to_char
(
double

precision
, text
)

text convert real/double precision to string to_char(125.8::real, '999D9')
to_char
(
numeric, text
)
text convert numeric to string to_char(-125.8, '999D99S')
to_date
(text, text
)
date convert string to date to_date('05 Dec 2000', 'DD Mon YYYY')
to_number
(
text, text
)
numeric convert string to numeric to_number('12,454.8-', '99G999D9S')
to_timestamp
(
text, text
)
timestamp with time zone convert string to time stamp to_timestamp('05 Dec 2000', 'DD Mon YYYY')
to_timestamp
(
double precision
)
timestamp with time zone convert Unix epoch to time stamp to_timestamp(1284352323)
 
 
1 varchar java.lang.String 12  
2 bpchar java.lang.String 1  
3 cidr java.lang.Object 1,111  
4 inet java.lang.Object 1,111  
5 macaddr java.lang.Object 1,111  
6 text java.lang.String 12  
7 int8 java.lang.Long -5  
8 int8 java.lang.Long -5  
9 box java.lang.Object 1,111  
10 circle java.lang.Object 1,111  
11 float8 java.lang.Double 8  
12 int4 java.lang.Integer 4  
13 interval java.lang.Object 1,111  
14 line java.lang.Object 1,111  
15 lseg java.lang.Object 1,111  
16 money java.lang.Double 8  
17 numeric java.math.BigDecimal 2  
18 path java.lang.Object 1,111  
19 point java.lang.Object 1,111  
20 polygon java.lang.Object 1,111  
21 float4 java.lang.Float 7  
22 int2 java.lang.Integer 5  
23 int4 java.lang.Integer 4  
24 time java.sql.Time 92  
25 timestamp java.sql.Timestamp 93  
26 bit java.lang.Boolean -7  
27 varbit java.lang.Object 1,111  
28 bool java.lang.Boolean -7  
29 bytea [B -2

PostgreSQL字段类型说明的更多相关文章

  1. PostgreSQL 中字段类型varchar

    PostgreSql数据库中varchar类型与sql server中字段用法有差别,PostgreSql中如果字段设置为varchar类型长度为10,则无论存字母.数字或其它符号,长度最大为10个, ...

  2. PostgreSQL 的字段类型和表操作笔记

    字段类型 数值类型 Name Storage Size Description Range smallint 2 bytes small-range integer -32768 to +32767 ...

  3. PostgreSQL 修改字段类型从int到bigint

    由于现在pg的版本,修改int到bigint仍然需要rewrite表,会导致表阻塞,无法使用.但可以考虑其他方式来做.此问题是排查现网pg使用序列的情况时遇到的. 由于int的最大值只有21亿左右,而 ...

  4. 主流数据库字段类型转.Net类型的方法

    最近在阅读一些开源的代码,发现其中有些方法总结的很全面,至少在我做同样的事情时候,需要抓破脑袋想活着google,现在看到了这个关于主流数据库字段类型转.Net类型的方法,故收藏之,也顺便分享给那些能 ...

  5. postgreSQL-如何查数据库表、字段以及字段类型、注释等信息?

    之前从网上也搜索了一些关于postgreSQL的系统表含义以及如何查表相关信息,但是都没有一个完整的内容,所以自己将找到的一些内容作了下整合,大家可以根据自己需要再对sql进行调整. --1.查询对象 ...

  6. django中模型详解-字段类型与约束条件

    这片博文来详细说明django模型的使用,涉及到django模型的创建,字段介绍,以及django模型的crud操作,以及一对一等操作. 在使用模型之前,我们首先设置数据库选项,django的默认数据 ...

  7. postgresql数字类型

    postgresql的数据类型很多,也可以使用create type命令创建自定义数据类型,但常用的数据类型是以下三种: l  数字数据类型 l  字符串数据类型 l  日期/时间数据类型 数字数据类 ...

  8. Django ORM中常用的字段类型以及参数配置

    一.数值型 AutoField对应int(11).自增主键,Django Model默认提供,可以被重写. BooleanField对应tinyint(1).布尔类型字段,一般用于记录状态标记. De ...

  9. Django中的常用字段类型与参数

    Django中的常用字段类型 1. 数值型 以下都是数值相关的,比如AutoField,它在MySQL中的类型为int(11),而BooleanField在MySQL中对应的类型是tinyint(1) ...

随机推荐

  1. 【Codeforces 152E】Garden

    Codeforces 152 E 题意:给你一个\(n\times m\)的格子,每个格子里面有一个值\(a_{i,j}\)表示如果要将这个格子变成路的话需要花费这么多代价.现在有\(k\)个特殊格子 ...

  2. C语言程序设计II—第五周教学

    第五周教学总结(25/3-31/3) 教学内容 本周的教学内容为:第七章 数组 7.3 字符串. 课前准备 在博客园发布作业:2019春第五周作业 第四周作业讲解视频:A Programing Vid ...

  3. Android 解决在初次打开Activity加载布局文件时,ScrollView滚动条不在顶部的问题

    出现这种问题的情况列举:ScrollView中嵌套有(包括自定义)的ListView,GridView时,会出现这种情况 解决办法: 1.在布局加载时让ScrollView上面的那个控件聚焦,具体做法 ...

  4. IDEA注册jar包使用和常用插件

    IDEA注册jar包使用 点击获取下载地址或生成注册码 一.安装完成后,先不启动,首先如下图修改相关的地方. 二.启动IDEA,并且激活IDEA IDEA插件仓库 IntelliJ IDEA Plug ...

  5. Luogu1979 NOIP2013D2T3 华容道 搜索、最短路

    题目传送门 题意:给出一个$N \times M$的棋盘,棋盘上有一些块可以移动,有一些块无法移动.$Q$次询问,每一次询问给出三个块$a,b,c$,将$a$块变为空格,空格旁边可移动的块可以与空格交 ...

  6. Bluedroid 函数分析:bta_dm_gattc_register

    我们先来看看在bluedroid 里面有多少地方调用到这里: 可以看出除了 它自己声明的地方,有三处 调用到这个函数. 一处是 进行discovery,一处是进行search的时候,还有一次是bta_ ...

  7. [开源 .NET 跨平台 Crawler 数据采集 爬虫框架: DotnetSpider] [五] 如何做全站采集?

    [DotnetSpider 系列目录] 一.初衷与架构设计 二.基本使用 三.配置式爬虫 四.JSON数据解析与配置系统 五.如何做全站采集 如何做全站采集? 很多同学加群都在问, 如何使用Dotne ...

  8. NFS共享文件系统部署

    1. 概述 本篇博客主要是介绍如何安装和使用NFS服务. 2. 安装软件包 首先确认系统是否已经安装相应的软件包,执行命:rpm -qa | egrep "rpcbind|nfs-utils ...

  9. 2018年高教社杯全国大学生数学建模竞赛B题解题思路

    题目 先贴下B题的题目吧 问题B    智能RGV的动态调度策略 图1是一个智能加工系统的示意图,由8台计算机数控机床(Computer Number Controller,CNC).1辆轨道式自动引 ...

  10. Linux内核分析 读书笔记 (第五章)

    第五章 系统调用 5.1 与内核通信 1.调用在用户空间进程和硬件设备之间添加了一个中间层.该层主要作用有三个: 为用户空间提供了硬件的抽象接口. 系统调用保证了系统的稳定和安全. 实现多任务和虚拟内 ...