zoukankan      html  css  js  c++  java
  • 【随手记录】PG数值类型记录

    在PG里面

    1、整数类型包括3种,分别是smallint、int和bigint。别名分别是int2、int(int4)和int8.常用数据类型是int(integer)

    2、浮点类型分为精确浮点数类型numeric和不精确浮点数类型real(单精度浮点数据类型)和 double precision(双精度浮点数据类型)。

    • double 和 real 数据类型被称为近似的数据类型。近似数字数据类型并不存储为多数数字指定的精确值,它们只储存这些值的最近似值。在很多应用程序中,指定值与存储值之间的微小差异并不明显。但有时这些差异也值得引起注意。
    • 精确浮点数类型可以用numeric(precision, scale)表示。
    1. numeric类型的标度(scale)是到小数点右边所有小数位的个数, numeric 的精度(precision)是所有数字位的个数
    2. 精度(precision)必须是正值,标度(scale)为零或正值,numeric(precision, 0)等价于numeric(precision)。
    3. numeric不带精度和标度,则系统使用任意精度,不会超过数据库系统储存范围。创建表显示声明精度最大值为1000。
    4. 不限制精度和标度,数据库系统会“原样储存”,限定精度,将导致四舍五入运算。如果一个列被定义成numeric类型而且指定了标度,那么输入的数据将被强制转换成这个标度,然后,如果小数点左边的位数超过了声明的精度减去声明的比例,那么抛出一个错误。

    3、样例:

    CREATE TABLE test (id numeric(2,2));
    
    INSERT into test VALUES(1.2345);
      --插入超过精度和标度的值
      --报错信息
      ERROR:  numeric field overflow
      DETAIL:  A field with precision 2, scale 2 must round to an absolute value less than 1.
    INSERT into test VALUES(0.2345);
      --插入超过标度的值,超过标度的部分被四舍五入成小于1的数,这里0.2345插入数据库的值为0.23
    

    4、PG中文社区文档 更多详情

  • 相关阅读:
    关于android listview去掉分割线
    关于android在Service中弹出Dialog对话框
    Java SimpleDateFormat 函数
    关于Android使TextView可以滚动的设置
    关于Android(Java)创建匿名线程
    关于解决 Failed to prepare partial IU:
    毕业设计进度:2月4日
    毕业设计进度:2月3日
    毕业设计进度:2月2日
    毕业设计进度:2月1日
  • 原文地址:https://www.cnblogs.com/whaleX/p/12703924.html
Copyright © 2011-2022 走看看