如果数据类型是数字类型(int、bigint、tinyint、smallint 等),那么您需要在连接之前将其转换为字符串。如果数据类型是string(varchar,char,nvarchar,nchar) 那么可以直接使用concat函数
select concat(cast(column_1 as varchar) ,cast(column_2 as varchar))
select concat(column_1,column_2)
另一种解决方法,如果列是字符串数据类型,那么
select column_1+column_2
样本
with cte as (select 1 as id, 'name' as Field1, 'job' as Field2, '1test1' as Field1value , '2test1' as Field2value
union select 2 as id, 'name' as Field1, 'job' as Field2, '1test1' as Field1value , '2test2' as Field2value
union select 2 as id, 'age' as Field1, 'town' as Field2, '13' as Field1value , 'town1' as Field2value )
select 'select percentage from table2 where '+Field1+' ='+ ''''+Field1value+ ''''+' and '+Field2+' = '+ ''''+Field2value+ '''' from cte
结果
注意:任何一列中的空值都会导致结果为空