# SUBSTR

Extracts a substring starting from a specified point within the given string.

## Syntax

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

## Arguments

#### STRING

Type: `string`

The string to extract a substring from.

#### START

Type: `integer`

The starting index of the substring.

Positions start with `1`. A negative starting position is interpreted as being relative to the end of the string.

#### LENGTH

Type: `integer`

(Optional) The length of the substring.

If omitted, the rest of the string after the starting position `START` is returned.

## Returns

Type: `string`

Returns a substring from `STRING` of length `LENGTH` from the starting position `START`.

***

## Examples

| STRING | START | LENGTH | Output |
| --- | --- | --- | --- |
| Hello World | 1 | 5 | Hello |
| Hello World | 0 | 4 | `''` |
| Hello World | -5 | 5 | World |
| Hello World | 12 | 4 | `''` |
| Hello World | -12 | 4 | `''` |
| Hello World | 2 | 3 | ell |
| Hello World | 3 | -2 | `''` |
| Hello World | 2 | 14 | ello World |
| Hello World | 2 |  | ello World |
| Hello World | -3 | 2 | rl |
| `null` | -3 | 2 | `null` |