INTEGRITY Dokumentace

Datové typy SQL

Cloudflare Pipelines podporuje sadu primitivních a složených datových typů pro SQL transformace. Tyto typy lze použít ve schématech streamu a v SQL literálech s automatickou inferencí typů.

Primitivní typy

Pipelines Typy SQL Příklady literálů
bool BOOLEAN TRUE, FALSE
int32 INT, INTEGER 0, 1, -2
int64 BIGINT 0, 1, -2
float32 FLOAT, REAL 0.0, -2.4, 1E-3
float64 DOUBLE 0.0, -2.4, 1E-35
string VARCHAR, CHAR, TEXT, STRING "hello", "world"
timestamp TIMESTAMP '2020-01-01', '2023-05-17T22:16:00.648662+00:00'
binary BYTEA X'A123' (šestnáctkově)
json JSON '{"event": "purchase", "amount": 29.99}'

Složené typy

Kromě primitivních typů podporuje Pipelines SQL i složené typy pro komplexnější datové struktury.

Typy seznamů

Listy sdružují nula nebo více prvků stejného typu. Ve schématech streamů se listy deklarují pomocí list typ s items pole udávající typ prvku. V SQL odpovídají seznamy polím a deklarují se připojením přípony k jinému typu pomocí [], například INT[].

Hodnoty typu list lze indexovat pomocí notace s indexem od 1 (v[1] je prvním prvkem v).

Listy lze vytvořit pomocí [] literály:

SELECT [1, 2, 3] as numbers

Pipelines poskytuje funkce pro práci s poli, pomocí kterých můžete upravovat hodnoty seznamů, a seznamy lze rozbalit pomocí UNNEST operátor.

Typy struktur

Struktury sdružují související pole do jedné hodnoty. Ve schématech streamů se struktury deklarují pomocí struct typ s fields pole. V SQL lze struktury vytvořit pomocí struct .

Příklad vytvoření struktury v SQL:

SELECT struct('user123', 'purchase', 29.99) as event_data FROM events

Tím se vytvoří struktura s poli c0, c1, c2 obsahující ID uživatele, typ události a částku.

K polím struktury lze přistupovat pomocí . notace, například event_data.c0 pro ID uživatele.