数值数据类型

Snowflake 中的数据类型与函数

Jake Roach

Field Data Engineer

数值数据类型

$$

                           NUMBER

  • 控制数值大小
  • DECIMALINTEGERNUMBER 同义

$$

126          -- 整数
7.99         -- 金额
.000191      -- 小数
-46.88       -- 负数
563719100    -- ID

...

1.234E+2     -- 数值常量
Snowflake 中的数据类型与函数

精度与小数位数

NUMBER(<precision>, <scale>)

            Precision 为数字的总位数

            Scale 为小数点的位数

$$

-- Precision: 4, Scale: 2
NUMBER(4, 2)

1.75 -- 适合 624.99 -- 超出
Snowflake 中的数据类型与函数

精度与小数位数

-- Precision: 3, Scale: 0
NUMBER(3, 0)

42     -- 适合
1000   -- 超出
41.99  -- 超出

$$

$$

  • NUMBER 默认是 NUMBER(38, 0)
Snowflake 中的数据类型与函数

定义数值数据类型

CREATE TABLE sales (
    id NUMBER,               -- 传统数值数据

price NUMBER(5, 2), -- 最高 $999.99 的金额
quantity NUMBER(4, 0) -- 小于 10,000 的整数
);
DESCRIBE TABLE schema.table;
                         name    |     type     |   kind   | ...  
                      ---------- | ------------ | -------- | ---  
                          id     | NUMBER(38,0) |  COLUMN  | ...  
                         price   | NUMBER(5,2)  |  COLUMN  | ...  
                       quantity  | NUMBER(4,0)  |  COLUMN  | ...
Snowflake 中的数据类型与函数

FLOAT 数据类型

$$

  • 用于科学与统计计算
  • "近似"数值类型
  • 可能出现舍入误差
  • 速度快,且能处理极端规模!

$$

               0.0000000120056

CREATE TABLE metrics (
    id NUMBER,
    accuracy FLOAT
);
DESCRIBE TABLE schema.table;
     name    |       type     | ...  
  ---------- | -------------- | ---  
      id     |  NUMBER(38,0)  | ...  
   accuracy  |  FLOAT         | ...
Snowflake 中的数据类型与函数

处理数值数据

  • 数值数据可通过多种方式处理

$$

  • 使用 =, !=, <, > 进行比较
  • 执行 +, -, /, *算术运算
  • SUM, AVG, COUNT 进行聚合
  • MEDIAN, STDDEV, CORR 计算统计指标

$$

  • ……还有很多!
Snowflake 中的数据类型与函数

让我们来练习!

Snowflake 中的数据类型与函数

Preparing Video For Download...