Data Types and Functions in Snowflake
Jake Roach
Field Data Engineer
$$
NUMBER
DECIMAL
, INTEGER
are synonymous with NUMBER
$$
126 -- Integers
7.99 -- Dollar amounts
.000191 -- Decimals
-46.88 -- Negative values
563719100 -- ID's
...
1.234E+2 -- Numeric constants
NUMBER(<precision>, <scale>)
Precision is the total number of digits in the number
Scale is the number of digits after the decimal point
$$
-- Precision: 4, Scale: 2 NUMBER(4, 2)
1.75 -- Good! 624.99 -- Won't fit
-- Precision: 3, Scale: 0
NUMBER(3, 0)
42 -- Good!
1000 -- Won't fit
41.99 -- Won't fit
$$
$$
NUMBER
is NUMBER(38, 0)
CREATE TABLE sales ( id NUMBER, -- Traditional numeric data
price NUMBER(5, 2), -- Dollar values up to $999.99
quantity NUMBER(4, 0) -- Integer values less than 10,000
);
DESCRIBE TABLE schema.table;
name | type | kind | ...
---------- | ------------ | -------- | ---
id | NUMBER(38,0) | COLUMN | ...
price | NUMBER(5,2) | COLUMN | ...
quantity | NUMBER(4,0) | COLUMN | ...
$$
$$
0.0000000120056
CREATE TABLE metrics (
id NUMBER,
accuracy FLOAT
);
DESCRIBE TABLE schema.table;
name | type | ...
---------- | -------------- | ---
id | NUMBER(38,0) | ...
accuracy | FLOAT | ...
$$
=
, !=
, <
, or >
.+
, -
, /
, or *
.SUM
, AVG
, or COUNT
.MEDIAN
, STDDEV
, and CORR
.$$
Data Types and Functions in Snowflake