SQL Server 2012,将多个字段合并为一个



我试过了

'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而是将这些字段中的数据合并为一个字符串并显示在新列中。

问题在于数据类型,为什么这些字段没有合并。

你能

试试没有使徒吗?

select combination = (field1 + field2)
from table

如果您需要在值之间放置一个空格,如果 field1 和 field2 是 varchar,那么您可以执行以下操作:

select combination = (field1 + ' ' + field2)
from table

如果 field1 和 field2 不是 varchar,那么您可以像下面这样进行转换并在主查询中使用:

cast(field1 as varchar(50))

那么,您是否只想将 2 个字段显示为一个字段?

字段 1 = 'hello'字段 2 = '世界'

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

然后,如果您想更新数据库中的字段,则

完全相同
 update table
 set concatfield =  field1 + ' ' + field2 --or concat(field1, ' ', field2)
 --where 1=1

这是非常基本的

declare @Field varchar(10) = 'value' 
select @Field + @Field + @Field as comb 
select '@Field' + '@Field' + '@Field' as comp  
comb
------------------------------
valuevaluevalue
comp
------------------
@Field@Field@Field

相关内容

最新更新