您好!欢迎来天下评测网-推荐优质主机-揭露骗子垃圾主机免费收录IDC商家
首页 >> 编程语言

整了PostgreSQL的数据类型

一、数值类型:
 ①.smallint    小范围整数        -32768 到 +32767
 ②.integer    常用的整数        -2147483648 到 +2147483647
 ③.bigint    大范围的整数        -9223372036854775808 到 9223372036854775807
 ④.decimal    用户声明精度,精确    无限制
 ⑤.numeric    用户声明精度,精确    无限制
 ⑥.real    变精度,不精确        6 位十进制数字精度
 ⑦.double    变精度,不精确        15 位十进制数字精度
 ⑧.serial    自增整数        1 到 +2147483647
 ⑨.bigserial    大范围的自增整数    1 到 9223372036854775807

二、字符类型:
 ①.varchar    变长,有长度限制    无限制(注:varchar(n)--n是一个正整数。n个字符长的字串,不填可以接受任何长度的字串)
 ②.char    定长,不足补空白        无限制(注:varchar(n)--n是一个正整数。n个字符长的字串,不填等于char(1))
 ③.text    变长,无长度限制    无限制

三、日期/时间类型:
 ①.timestamp    包括日期和时间或带带时区    4713 BC) 到 5874897AD
 ②.interval    时间间隔            -178000000年 到 178000000年
 ③.date    只用于日期            4713 BC 到 32767AD
 ④.time    只用于一日内时间        00:00:00 到 24:00:00    

四、布尔类型:boolean只能有两个状态之一:真(True)或 假(False);

五、位串类型:
 ①.bit(n)        n是一个正整数。类型的数据必须准确匹配长度n,试图存储短些或者长一些的数据都是错误的。(注:bit等效于bit(1))
 ②.bit interval(n)    n是一个正整数。数据是最长n的变长类型;更长的串会被拒绝。(注:没有长度的bit varying相当于没有长度限制)
 针对该类型,最后需要提醒的是,如果我们明确地把一个位串值转换成bit(n),那么它的右边将被截断或者在右边补齐零,直到刚好n位,而不会抛出任何错误。类似地,如果我们明确地把一个位串数值转换成bit varying(n),如果它超过n位,那么它的右边将被截断。
 SELECT B'11'::bit(3);结果:110;

六、数组:
 integer[] --还可以定义为integer[4]或integer ARRAY[4]   无限制

七、复合类型:
 中复合类型有些类似于C语言中的结构体,也可以被视为Oracle中的记录类型,但是还是感觉复合类型这个命名比较贴切。它实际上只是一个字段名和它们的数据类型的列表。PostgreSQL允许像简单数据类型那样使用复合类型。比如,表字段可以声明为一个复合类型。