I want to concatenate a few columns using `column1 ^^ column2 ^^ ...` syntax in DBT for Redshift. If there are NULL values in the columns `@@` should be used, resulting in f.e. `@@ ^^ @@`. I have found the following macro for concatenation:

```
{% macro safe_concat(field_list) %}
  {# Takes an input list and generates a concat() statement with each argument in the list safe_casted to a string and wrapped in an ifnull() #}
  concat({% for f in field_list %}
    ifnull(safe_cast({{ f }} as string), '@@')
    {% if not loop.last %}, {% endif %}
  {% endfor %})
{% endmacro %}

```

When I use it in my select statement:

```
select
  {{ safe_concat([street, city]) }} as address_key
from source

```

I get the following error. Is this related to the code I am using?

```
Database Error in model address (models/address.sql)
  syntax error at or near "as"
  LINE 32:     ifnull(safe_cast( as string), '@@')

```