if the datatype is numeric types(int,bigint, tinyint,smallint,etc) then you need to cast it to string before you concatenate. if the datatype is string(varchar,char,nvarchar,nchar) then you can directly use concat
function
select concat(cast(column_1 as varchar) ,cast(column_2 as varchar))
select concat(column_1,column_2)
another workaround, if the columns are string datatype, then
select column_1+column_2
sample
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
result
Note: null value in any one column will have result as null
You can simply use +
to concatenate charcaters.
Query
select *, x + ',' + y as z
from your_table_name;
If there is a null value in any of the columns, then the concatenation results to a null
value.
To handle the null
value in any of the column
Query
select *,
case
when x is null and y is not null then y
when y is null and x is not null then x
when x is null and y is null then null
else x + ',' + y end as z
from your_table_name;
You can use concat
as
SELECT
Source, QtyPrevious, QtyToday, ProductPrevious, ProductToday,
AvaDatePr, AvaDateToday, Clusters, CONCAT(X, '', Y) as Z
from your_table_name;
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.