# SUBSTR

Извлекает подстроку, начиная с указанной точки в заданной строке.

## Синтаксис

```
SUBSTR(STRING, START [, LENGTH])
```

## Аргументы

#### STRING

Тип: `string`

Строка, из которой нужно извлечь подстроку.

#### START

Тип: `integer`

Начальный индекс подстроки.

Позиции начинаются с `1`. Отрицательная начальная позиция интерпретируется как относительная к концу строки.

#### LENGTH

Тип: `integer`

(Необязательно) Длина подстроки.

Если опущено, возвращается остаток строки после начальной позиции `START`.

## Возвращает

Тип: `string`

Возвращает подстроку из `STRING` длиной `LENGTH` начиная с позиции `START`.

***

## Примеры

| STRING | Начать | Длина | Выходные данные |
| --- | --- | --- | --- |
| Привет, мир | 1 | 5 | Привет |
| Привет, мир | 0 | 4 | `''` |
| Привет, мир! | -5 | 5 | Мир |
| Привет, мир! | 12 | 4 | `''` |
| Привет, мир! | -12 | 4 | `''` |
| Привет, мир! | 2 | 3 | элл |
| Привет, мир! | 3 | -2 | `''` |
| Привет, мир! | 2 | 14 | ривет, мир! |
| Привет, мир! | 2 |  | ривет, мир! |
| Привет, мир! | -3 | 2 | rl |
| `null` | -3 | 2 | `null` |