From 7ce9f1719c0b7978edbe21ec6d6412d8bbf7857d Mon Sep 17 00:00:00 2001
From: Alexander Tolstoy <a.tolstoy@picodata.io>
Date: Mon, 16 Oct 2023 14:23:13 +0000
Subject: [PATCH] move sql data types part into separate document

---
 docs/sql/datatypes.md | 47 ++++++++++++++++++++++++++-----------------
 docs/sql/queries.md   | 28 ++++----------------------
 2 files changed, 32 insertions(+), 43 deletions(-)

diff --git a/docs/sql/datatypes.md b/docs/sql/datatypes.md
index 1f3aca36..878d8bb8 100644
--- a/docs/sql/datatypes.md
+++ b/docs/sql/datatypes.md
@@ -1,25 +1,34 @@
 # Типы данных 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)
diff --git a/docs/sql/queries.md b/docs/sql/queries.md
index d68ffcaf..296455e7 100644
--- a/docs/sql/queries.md
+++ b/docs/sql/queries.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`) происходит
 кеширование подзапроса, поэтому его тоже имеет смысл параметризировать,
-- 
GitLab