数値データ型

Snowflake のデータ型と関数

Jake Roach

Field Data Engineer

数値データ型

$$

                           NUMBER

  • 数値のサイズを制御する
  • DECIMAL、INTEGER は NUMBER の別名

$$

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...