# Join array
> Supported in: Batch, Faster, Streaming
Joins array with specified separator.
**Expression categories:** Array
## Declared arguments
* **Array to join:** Array to join on.
*Expression\>*
* **Separator:** Separator to join array with.
*Expression\*
**Output type:** *String*
## Examples
### Example 1: Base case
**Argument values:**
* **Array to join:** \[ hello, world ]
* **Separator:** -
**Output:** hello-world
***
### Example 2: Base case
**Argument values:**
* **Array to join:** \[ hello, world ]
* **Separator:**
**Output:** hello
world
***
### Example 3: Null case (ANSI mode on)
**Argument values:**
* **Array to join:** `array`
* **Separator:** `separator`
| array | separator | **Output** |
| ----- | ----- | ----- |
| \[ hello, world ] | - | hello-world |
| \[ hello, world ] | *empty string* | helloworld |
| \[ hello, world ] | *null* | *null* |
| *null* | - | *null* |
| *null* | *null* | *null* |
***
### Example 4: Null case (ANSI mode off)
**Argument values:**
* **Array to join:** `array`
* **Separator:** `separator`
| array | separator | **Output** |
| ----- | ----- | ----- |
| \[ hello, world ] | - | hello-world |
| \[ hello, world ] | *null* | helloworld |
| *null* | - | *null* |
| *null* | *null* | *null* |
***
### Example 5: Edge case
**Argument values:**
* **Array to join:** \[ ]
* **Separator:** -
**Output:** *empty string*
***