# SUBSTR

Wyodrębnia podciąg, zaczynając od określonego punktu w podanym ciągu.

## Składnia

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

## Argumenty

#### STRING

Typ: `string`

Ciąg, z którego ma zostać wyodrębniony podciąg.

#### START

Typ: `integer`

Indeks początkowy podciągu.

Pozycje zaczynają się od `1`. Ujemna pozycja początkowa jest interpretowana jako względna względem końca ciągu.

#### LENGTH

Typ: `integer`

(Opcjonalnie) Długość podłańcucha.

Jeśli pominięto, zwracana jest pozostała część ciągu po pozycji początkowej `START`.

## Zwraca wartość

Typ: `string`

Zwraca podłańcuch z `STRING` o długości `LENGTH` od pozycji początkowej `START`.

***

## Przykłady

| STRING | Początek | Długość | Dane wyjściowe |
| --- | --- | --- | --- |
| Witaj świecie | 1 | 5 | Witaj |
| Witaj świecie | 0 | 4 | `''` |
| Hello World | -5 | 5 | Świat |
| Hello World | 12 | 4 | `''` |
| Hello World | -12 | 4 | `''` |
| Hello World | 2 | 3 | ell |
| Witaj świecie | 3 | -2 | `''` |
| Witaj świecie | 2 | 14 | Witaj świecie |
| Witaj świecie | 2 |  | Witaj świecie |
| Hello World | -3 | 2 | rl |
| `null` | -3 | 2 | `null` |