When Xtype In (48,52,56,59,60,62,104,106,108,122,127)
Then 'case When '+ Name +' Is Null Then ''null'' Else ' + 'cast('+ Name + ' As Varchar)'+' End'
When Xtype In (58,61)
Then 'case When '+ Name +' Is Null Then ''null'' Else '+''''''''' + ' + 'cast('+ Name +' As Varchar)'+ '+'''''''''+' End'
When Xtype In (167)
Then 'case When '+ Name +' Is Null Then ''null'' Else '+''''''''' + ' + 'replace('+ Name+','''''''','''''''''''')' + '+'''''''''+' End'
When Xtype In (231)
Then 'case When '+ Name +' Is Null Then ''null'' Else '+'''n'''''' + ' + 'replace('+ Name+','''''''','''''''''''')' + '+'''''''''+' End'
When Xtype In (175)
Then 'case When '+ Name +' Is Null Then ''null'' Else '+''''''''' + ' + 'cast(Replace('+ Name+','''''''','''''''''''') As Char(' + Cast(Length As Varchar) + '))+'''''''''+' End'
When Xtype In (239)
Then 'case When '+ Name +' Is Null Then ''null'' Else '+'''n'''''' + ' + 'cast(Replace('+ Name+','''''''','''''''''''') As Char(' + Cast(Length As Varchar) + '))+'''''''''+' End'
Else '''null'''
End As Cols,Name
From Syscolumns
Where (Id = Object_Id(@Tablename)) And (Autoval Is Null)
) T
Set @Sql ='select ''insert Into ['+ @Tablename + ']' + Left(@Sql,Len(@Sql)-1)+') ' + Left(@Sqlvalues,Len(@Sqlvalues)-4) + ')'' From '+@Tablename