4.数据类型-数字类型


前言

一、数字类型

(1)整数类型
(2)精度类型
(3)浮点类型
(4)serial类型

1.1.数字类型列表

类型名称存储长度描述范围
smallint2字节小范围整数类型-32768到+32768
integer4字节整数类型-2 147 483 648到+2 147 483 647
bigint8字节大范围整数类型-9 223 372 036 854 775 808到+9 223 372 036 854 775 807
decimal可变用户指定精度小数点前131072位;小数点后16383位
numeric可变用户指定精度小数点前131072位;小数点后16383位
real4字节变长,不精确6位十进制精度
double precision8字节变长,不精确15位十进制精度
smallserial2字节smallint自增序列1到32767
serial4字节integer自增序列1到2 147 483 647
bigserial8字节bigint自增序列1到9 223 372 036 854 775 807

整数类型smallint、integer、bigint

smallint等价于int2:存储2字节整数
integer等价于int4:存储4字节整数
bigint等价于int8:存储8字节整数

定义一张使用integer类型的表

psql -U lhc -h 10.206.132.17 -p 5432 -d lhcdb
create table lhc.test_integer (id1 integer,id2 int4);

精度类型decimal和numeric
decimal和numeric是等效的,可以存储指定精度的多位数据。

numeric(precision,scale)
precision:指的是numeric数字里的全部位数,scale是指小数部分的数字位数。
precision必须为正整数,scale可以是0或整数
注意:由于numeric类型上的算术运算相比整数类型的性能低。

例如:

18.222的precision为5,而scale为3。

real和double precision是指浮点数据类型。
real支持4字节
double precision支持8字节

自增serial类型:smallserial、serial、bigserial

创建一张测试表:

create table lhc.test_serial(id serial,flag text);

\d lhc.test_serial
postgres@10.206.132.17:5432=#\d lhc.test_serial
                                Table "lhc.test_serial"
 Column |  Type   | Collation | Nullable |                   Default
--------+---------+-----------+----------+---------------------------------------------
 id     | integer |           | not null | nextval('lhc.test_serial_id_seq'::regclass)
 flag   | text    |           |          |


insert into lhc.test_serial(flag) values ('a');
insert into lhc.test_serial(flag) values ('b');
insert into lhc.test_serial(flag) values ('c');

select * from lhc.test_serial;
postgres@10.206.132.17:5432=#select * from lhc.test_serial;
 id | flag
----+------
  1 | a
  2 | b
  3 | c
(3 rows)

1.2.数字类型操作符和数学函数

加减乘除
postgres@[local:/data/postgresql/pgdata]:5432=#select 1+2,2*3,4/2,8%3;
 ?column? | ?column? | ?column? | ?column?
----------+----------+----------+----------
        3 |        6 |        2 |        2
(1 row)

按模取余
postgres@[local:/data/postgresql/pgdata]:5432=#select mod(8,3);
 mod
-----
   2
(1 row)

四舍五入函数
postgres@[local:/data/postgresql/pgdata]:5432=#select round(10.2),round(10.9);
 round | round
-------+-------
    10 |    11
(1 row)

返回大于或等于给出参数的最小整数
postgres@[local:/data/postgresql/pgdata]:5432=#select ceil(3.6),ceil(-3.6);
 ceil | ceil
------+------
    4 |   -3
(1 row)

返回大于或等于给出参数的最大整数
postgres@[local:/data/postgresql/pgdata]:5432=#select floor(3.6),floor(-3.6);
 floor | floor
-------+-------
     3 |    -4
(1 row)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值