更新时间:2024-05-28 GMT+08:00

固定精度型

名称

描述

存储空间

取值范围

字面量

DECIMAL

固定精度的十进制数。精度最高支持到38位,但精度小于18位能保障性能最好。

Decimal有两个输入参数:

  • precision:总位数,默认38
  • scale:小数部分的位数,默认0
    说明:

    如果小数位为零,即十进制(38,0),则支持最高19位精度。

64位

DECIMAL

NUMERIC

同DECIMAL

128位

NUMERIC

表1 字面量示例

字面量示例

数据类型

DECIMAL '0'

DECIMAL(1)

DECIMAL '12345'

DECIMAL(5)

DECIMAL '0000012345.1234500000'

DECIMAL(20, 10)

--创建具有DECIMAL类型数据的表
CREATE TABLE decimal_t1 (dec_col1 DECIMAL(10,3)) ;    

--插入具有DECIMAL类型数据  
insert into decimal_t1 values (DECIMAL '5.325');     

--查看数据
SELECT * FROM decimal_t1;  
 dec_col1  
---------   
 5.325 
(1 row)    

--反例:小数位数超出定义长度,sql执行失败
insert into decimal_t1 values (DECIMAL '5.3253');
Query 20201126_034601_00053_tq98i@default@HetuEngine failed: Insert query has mismatched column types: Table: [decimal(10,3)], Query: [decimal(5,4)]

--删除表
DROP TABLE decimal_t1;  

--创建NUMERIC 类型表
CREATE TABLE tb_numberic_hetu(col1 NUMERIC(9,7));
CREATE TABLE

--插入数据
INSERT INTO tb_numberic_hetu values(9.12);
INSERT: 1 row

--查看数据
SELECT * FROM tb_numberic_hetu;
col1    
------------
  9.1200000 
(1 row)