Skip to content
Snippets Groups Projects
Commit 7ce9f171 authored by Alexander Tolstoy's avatar Alexander Tolstoy
Browse files

move sql data types part into separate document

parent 9ee6873e
No related branches found
No related tags found
1 merge request!170move sql data types part into separate document
Pipeline #25304 passed
# Типы данных SQL
На данный момент в SQL Broadcaster поддерживаются следующие типы данных:
### Boolean type
Boolean(bool)
### Fixed point type
Decimal(Decimal)
### Floating point type
Double(Double)
### Signed integer type
Integer(i64)
### SQL NULL ("unknown" in the terms of three-valued logic)
Null
### String type
String(String)
### Unsigned integer type
Unsigned(u64)
### Tuple type
Tuple(Tuple)
Пользователи Picodata SQL могут работать с разнообразными типами данных
в таблицах: объявлять их, указывать в качестве типов для колонок,
конвертировать данные из одного типа в другой и т.д.
Более подробные сведения о поддерживаемых типах данных можно узнать в разделе [Поддерживаемые функции стандарта SQL](../reference)
## Список поддерживаемых типов
На данный момент в Picodata SQL поддерживаются следующие типы
данных:
См. также: [Пример работы с SQL Broadcaster в Picodata](../tutorial)
- `ANY`. Любой тип данных / тип данных не задан;
- `BOOL`, `BOOLEAN`. Логический тип данных, поддерживаемые значения:
`FALSE`, `TRUE` и `NULL` (`UNKNOWN` в терминологии троичной логики).
По правилам сравнения `FALSE` меньше `TRUE`.
- `DECIMAL`. Числа с фиксированной запятой, содержащие до 38 цифр и принимающие значения в диапазоне от `-1.79769e308` до `1.79769e308`;
- `DOUBLE` Числа с плавающей запятой стандарта IEEE 754, принимающие значения в диапазоне от `-99999999999999999999999999999999999999` до `99999999999999999999999999999999999999`. Помимо
стандартной записи дробного числа (например, `0.5`) поддерживается и
экспоненциальная форма (например, `5E-1`);
- `INT`, `INTEGER`. Целые числа в диапазоне от `-9223372036854775808` до `+18446744073709551615`;
- `NUMBER`. Универсальный числовой контейнер, в котором могут лежать как
целые числа, так и числа с плавающей запятой;
- `SCALAR`. Скалярный тип данных, т.е содержащий только один элемент
(_не_ кортеж и _не_ массив);
- `STRING`, `TEXT`. Текстовый тип данных. Позволяет хранить текстовую
строку переменной длины. Максимальная длина составляет `2,147,483,647`
байт;
- `UNSIGNED`. Тип целого беззнакового числа в диапазоне от `0` до
`+2^64` или `NULL`.
- `VARCHAR`. Текстовый тип данных с явно заданной длиной строки.
См. также: [Совместимость с ANSI SQL](../reference)
---
[Исходный код страницы](https://git.picodata.io/picodata/picodata/docs/-/blob/main/docs/sql/datatypes.md)
......@@ -576,29 +576,9 @@ on "characters"."id" = stock."number" ;
## Использование функции CAST() {: #cast }
Функция `CAST()` используется для изменения получаемого типа данных при
SELECT-запросах. С ее помощью можно преобразовать числа в текст, дробные
числа в целые и так далее согласно приведенной [выше](#type) схеме. В
частности, поддерживаются следующие типы данных: <a name="data_types"></a>
- `ANY`. Любой тип данных / тип данных не задан;
- `BOOL`, `BOOLEAN`. Логический тип данных, поддерживаемые значения:
`FALSE`, `TRUE` и `NULL` (`UNKNOWN` в терминологии троичной логики).
По правилам сравнения `FALSE` меньше `TRUE`.
- `DECIMAL`. Числа с фиксированной запятой, содержащие до 38 цифр;
- `DOUBLE` Числа с плавающей запятой стандарта IEEE 754. Помимо
стандартной записи дробного числа (например, `0.5`) поддерживается и
экспоненциальная форма (например, `5E-1`);
- `INT`, `INTEGER`. Целые числа в диапазоне от `-2^63` до `+2^64` или
`NULL`;
- `NUMBER`. Универсальный числовой контейнер, в котором могут лежать как
целые числа, так и числа с плавающей запятой;
- `SCALAR`. Скалярный тип данных, т.е содержащий только один элемент
(_не_ кортеж и _не_ массив);
- `STRING`, `TEXT`. Текстовый тип данных. Позволяет хранить текстовую
строку переменной длины. Максимальная длина составляет `2,147,483,647`
байт;
- `UNSIGNED`. Тип целого беззнакового числа в диапазоне от `0` до
`+2^64` или `NULL`.
- `VARCHAR`. Текстовый тип данных с явно заданной длиной строки.
числа в целые и так далее согласно приведенной [выше](#type) схеме.
Поддерживаемые в Picodata типы данных приведены в [отдельном
документе](../datatypes).
### Пример запроса {: #cast-example }
В качестве примера покажем преобразование дробных чисел в целые с
......@@ -744,7 +724,7 @@ insert into "assets" values (1, 'Woody', 2561) ;
фиксированной запятой (например, `values(2.5)` в `decimal 2.5`). В
параметризированном виде дробнному числу будет назначен типа с плавающей
запятой (например, `values(?), {2.5}` в `double 2.5`). См.
[подробнее](#data_types) о типах данных.
[подробнее](../datatypes) о типах данных.
При использовании `INSERT` вместе с подзапросом (`SELECT`) происходит
кеширование подзапроса, поэтому его тоже имеет смысл параметризировать,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment