diff --git a/docs/images/ebnf/expression.svg b/docs/images/ebnf/expression.svg index b428d87b51e56fb1d9c7b6fa219782012c725e12..4b03f78e7be001851e13cc124819ae51994cecbb 100644 Binary files a/docs/images/ebnf/expression.svg and b/docs/images/ebnf/expression.svg differ diff --git a/docs/images/ebnf/substr.svg b/docs/images/ebnf/substr.svg new file mode 100644 index 0000000000000000000000000000000000000000..4f71e79b9b09ac5fed6518335ce5b20fee7fbfe3 Binary files /dev/null and b/docs/images/ebnf/substr.svg differ diff --git a/docs/reference/ansi_sql.md b/docs/reference/ansi_sql.md index 1ee185d3061c53049d857f8842685f706612119d..631c203f7222888789278871db26fbd42e7a6eb5 100644 --- a/docs/reference/ansi_sql.md +++ b/docs/reference/ansi_sql.md @@ -183,10 +183,10 @@ td.td3 ul { <td></td> </tr> <tr> - <td class="center"><span class="absent">E021-06</span></td> + <td class="center"><span class="partly">E021-06</span></td> <td>Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ SUBSTRING</td> - <td class="td3 center"></td> - <td></td> + <td class="td3 center">[SUBSTR](sql/substr.md)</td> + <td>Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ SUBSTRING не поддерживаетÑÑ, но еÑÑ‚ÑŒ SUBSTR</td> </tr> <tr> <td class="center"><span class="full">E021-07</span></td> diff --git a/docs/reference/sql/substr.md b/docs/reference/sql/substr.md new file mode 100644 index 0000000000000000000000000000000000000000..8cde121e28f443f5bc442b025bd7ad8bdee6736b --- /dev/null +++ b/docs/reference/sql/substr.md @@ -0,0 +1,50 @@ +# SUBSTR {: #substr } + +Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ `SUBSTR` извлекает подÑтроку из Ñтроки *string*, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ +*from*, длиной *count* Ñимволов. + +ÐÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ñимволов в Ñтроке *string* начинаетÑÑ Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ñ‹. ЕÑли длина +*count* не указана, конец подÑтроки будет Ñовпадать Ñ ÐºÐ¾Ð½Ñ†Ð¾Ð¼ Ñтроки +*string*. + +!!! note "Примечание" + *from* и *count* — результаты [выражений](#expression) типа [UNSIGNED]. + +[UNSIGNED]: ../sql_types.md#unsigned + +## СинтакÑÐ¸Ñ {: #syntax } + + + +### Выражение {: #expression } + +??? note "Диаграмма" +  + +### Литерал {: #literal } + +??? note "Диаграмма" +  + +## Примеры {: #examples } + +```title="Ð—Ð°Ð¿Ñ€Ð¾Ñ VALUES Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÐµÐ¹ SUBSTR и параметром <i>from</i>" +picodata> VALUES ( SUBSTR('picodata', 3) ); ++----------+ +| COLUMN_1 | ++==========+ +| "codata" | ++----------+ +(1 rows) + +``` + +```title="Ð—Ð°Ð¿Ñ€Ð¾Ñ VALUES Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÐµÐ¹ SUBSTR и параметрами <i>from</i> и <i>count</i>" +picodata> VALUES ( SUBSTR('picodata', 3, 4) ); ++----------+ +| COLUMN_1 | ++==========+ +| "coda" | ++----------+ +(1 rows) +``` diff --git a/docs/sql_index.md b/docs/sql_index.md index b9e1dbc96ad7be2aba52b99073d4e20f3f696520..a1c28bbdcd2feb4338bf1a27990208562fa9cfcc 100644 --- a/docs/sql_index.md +++ b/docs/sql_index.md @@ -45,6 +45,7 @@ * [Ðгрегатные функции](reference/sql/aggregate.md) * [CASE](reference/sql/case.md) * [CAST](reference/sql/cast.md) +* [SUBSTR](reference/sql/substr.md) * [TRIM](reference/sql/trim.md) ### Дата и Ð²Ñ€ÐµÐ¼Ñ {: #date_and_time } diff --git a/mkdocs.yml b/mkdocs.yml index 5d613aec149c630509172a26a176339178d76571..025b56f33e1b148e591902d25e068a8f680e4b14 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -91,6 +91,7 @@ nav: - reference/sql/aggregate.md - reference/sql/case.md - reference/sql/cast.md + - reference/sql/substr.md - reference/sql/trim.md - Дата и времÑ: - reference/sql/current_date.md