Search code examples
sqlselectcastingisnullselect-into

Concatenate string variables into a new variable in new table


I am trying to concatenate 5 string variables into a new string in a new table.

SELECT [id],IsNull(Cast(x01 as nvarchar(4000)),'')
+ IsNull(Cast(x02 as nvarchar(4000)),'')
+ IsNull(Cast(x03 as nvarchar(4000)),'')
+ IsNull(Cast(x04 as nvarchar(4000)),'')
+ IsNull(Cast(x05 as nvarchar(4000)),'')
INTO newtable
FROM oldtable AS [id],[new_string];

I don't understand the error message produced, because I am creating a new table - how can the column name be missing? I am expecting two variables in the new table: id, new_string

An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name


Solution

  • SELECT [id],IsNull(Cast(x01 as nvarchar(4000)),'')
    + IsNull(Cast(x02 as nvarchar(4000)),'')
    + IsNull(Cast(x03 as nvarchar(4000)),'')
    + IsNull(Cast(x04 as nvarchar(4000)),'')
    + IsNull(Cast(x05 as nvarchar(4000)),'') as new_string
                                    ---------^^^^^^^^^^^^^
    INTO newtable
    FROM oldtable
    

    Give the column a name, so it can be used to create the new table.