Числові типи даних

Типи даних і функції в Snowflake

Jake Roach

Field Data Engineer

Числові типи даних

$$

                           NUMBER

  • Керуйте розміром числових значень
  • DECIMAL, INTEGER — синоніми NUMBER

$$

126          -- Цілі
7.99         -- Суми в доларах
.000191      -- Дробові
-46.88       -- Від'ємні значення
563719100    -- Ідентифікатори

...

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