我试过
'field1'+'field2'+'field3' as combination
并尝试:
((((field_1||'_')||field_2_yes)||'_')||field_3_yes) AS combination
尝试:
field1 || field2 as combination
我也尝试过Concat,合并,似乎无法让它发挥作用。 此外,如果有帮助,我通过excel查询SQL服务器。
预期输出是名为combination
的列,其中field1field2field3
数据作为组合列中的行。我不是要创建文字字符串field1field2field3
,而是将这些字段中的数据组合成一个字符串并显示在新列中。
问题在于数据类型为何这些字段没有合并。
答案 0 :(得分:2)
请你试试没有副驾驶?:
select combination = (field1 + field2)
from table
如果你需要在值之间加一个空格,如果field1和field2是varchar,那么你可以这样做:
select combination = (field1 + ' ' + field2)
from table
如果field1和field2不是varchar,那么您可以像下面这样进行投射并在主查询中使用:
cast(field1 as varchar(50))
答案 1 :(得分:2)
那么您是否只想将2个字段显示为一个字段?
Field1 ='你好' field2 =' world'
select field1 + field2 as concatfield from table
select concat(field1, field2) as concatfield from table
这将为您提供如下输出:
helloworld
如果您想添加空间,请尝试以下方法:
select field1 + ' ' + field2 as concatfield from table
select concat(field1, ' ', field2) as concatfield from table
这将为您提供如下输出:
hello world
如果你想更新DB
中的字段,那么同样如此 update table
set concatfield = field1 + ' ' + field2 --or concat(field1, ' ', field2)
--where 1=1
答案 2 :(得分:1)
这是非常基本的
declare @Field varchar(10) = 'value'
select @Field + @Field + @Field as comb
select '@Field' + '@Field' + '@Field' as comp
comb
------------------------------
valuevaluevalue
comp
------------------
@Field@Field@Field