• 【PostgreSQL】数据类型


    类型介绍

    布尔类型、数值类型、字符类型、二进制数据类型、位串类型、日期和时间类型、枚举类型、几何类型、网络地址类型、数组类型、复合类型、xml类型、json类型、range类型、对象标识符类型、伪类型、其他类型。

    布尔类型

    boolean类型的状态true,false。如果是 unknown 未知状态,用NUll表示。
    布尔类型的操作符:知识链接

    数值类型

    数值类型列表
    类型名称 存储空间 描述 范围
    smallint 2字节 小范围整数-215~215-1
    int或integer 4字节 最常用的整数-231~231-1
    bigint 8字节 大范围的函数 -263~263-1
    numeric或decimal 变长 用户声明的指定的精度,精确 无限制
    real 4字节 变精度,不精确 6位十进制数字精度
    double precision 8字节 变精度,不精确 15位十进制数字精度
    serial4字节 自增整数 1~2的31次方-1
    bigserial 8字节 大范围的自增函数 1~2的63次方-1

    整数类型

    分为三种:smallint、int、bigint。
    数据库建表及mybatis逆向生成model时,int和integer和int4是等效的、smallint和int2是等效的、bigint和int8是等效的。
    int8逆向生成后是javaType会是java.lang.Long、int4是Integer、int2是Short。

    精确的小数类型

    分为:numeric、numeric(m,n)、numeric(m)。
    适用于货币金额和其他要求精确计算的场合,不过在算术运算上要比整数类型和浮点数类型慢很多。
    语法:NUMERIC (precision, scale)
    其中,精度precision必须为正数,标度scale可以为零或正数。

    枚举类型

    与MySQL中不同,在PostgreSQL中要使用枚举类型需要先使用CREATETYPE创建一个枚举类型。见下面的例子。
    先建一个“week” 的枚举类型,

    CREATE TYPE week AS ENUM
    ('Sun', 'Mon', 'Tues','Wed', 'Thur', 'Fri', 'Sat'); 
    
    • 1
    • 2

    然后在建表的时候给字段加上字段类型 week:

    CREATE TABLE duty (person text, weekday week) ;
    
    • 1

    psql中可以使用“\dT” 命令查看枚举类型的定义:

    \dT + week
    
    • 1

    枚举类型说明

    1. 在枚举类型中,值的顺序是创建枚举类型时定义的顺序。
      比如上面中建的 week ,最小值是Sun,最大值是Sat。
    2. 每个枚举类型都是独立的,不能与其他枚举类型混用。
    3. 一个枚举值在磁盘上占4字节。
    4. 枚举类型的值是大小写敏感的
  • 相关阅读:
    Java笔记(七)
    汇付国际为跨境电商赋能:做合规的跨境支付平台!
    【每日一题】倍数求和
    【计算机网络】互连网的路由选择协议概述
    spring aop
    关键任务:网络安全事件中真正重要的是什么
    【Python】一个矩阵根据某一列选择大于或小于范围的数据
    设计模式之代理模式
    C++ Reference: Standard C++ Library reference: C Library: cwchar: vwscanf
    Python软件编程等级考试一级——20220915
  • 原文地址:https://blog.csdn.net/TheChany/article/details/126893872