INTEGRITY Документация

Типы данных SQL

Cloudflare Pipelines поддерживает набор примитивных и составных типов данных для SQL преобразований. Эти типы можно использовать в схемах stream и SQL литералах с автоматическим выводом типа.

Примитивные типы

Pipelines Типы SQL Примеры литералов
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' (в шестнадцатеричном формате)
json JSON '{"event": "purchase", "amount": 29.99}'

Составные типы

Помимо примитивных типов, Pipelines SQL поддерживает составные типы для более сложных структур данных.

Типы списков

List объединяет ноль или более элементов одного типа. В схемах stream тип List объявляется с помощью list тип с items поле, указывающее тип элемента. В SQL списки соответствуют массивам и объявляются путем добавления к другому типу суффикса [], например INT[].

Значения типа List можно индексировать с помощью нотации индексации, начинающейся с 1 (v[1] является первым элементом v).

Значения типа List можно создавать с помощью [] литералы:

SELECT [1, 2, 3] as numbers

Pipelines предоставляет функции для работы с массивами, позволяющие изменять значения списков, а раскрыть список можно с помощью UNNEST оператор.

Типы структур

Структуры объединяют связанные поля в одно значение. В схемах потоков структуры объявляются с помощью struct тип с fields массив. Структуры (structs) в SQL можно создать с помощью struct функцию.

Пример создания struct в SQL:

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

В результате создаётся структура с полями c0, c1, c2 содержащий ID пользователя, тип события и сумму.

Доступ к полям структуры можно получить через . нотация, например event_data.c0 для ID пользователя.