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