SQL
Creating Arrays
Arrays can be created using the [`array_value(expr, ...)` function](#docs:sql:functions:array::array_valueindex).  
Construct with the `array_value` function:  
```sql
SELECT array_value(1, 2, 3);
```  
You can always implicitly cast an array to a list (and use list functions, like `list_extract`, `[i]`):  
```sql
SELECT array_value(1, 2, 3)[2];
```  
You can cast from a list to an array (the dimensions have to match):  
```sql
SELECT [3, 2, 1]::INTEGER[3];
```  
Arrays can be nested:  
```sql
SELECT array_value(array_value(1, 2), array_value(3, 4), array_value(5, 6));
```  
Arrays can store structs:  
```sql
SELECT array_value({'a': 1, 'b': 2}, {'a': 3, 'b': 4});
```