← Cloudflare Pipelines / pipelines / sql-reference
Типы данных 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 numbersPipelines предоставляет функции для работы с массивами, позволяющие изменять значения списков, а раскрыть список можно с помощью 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 пользователя.