我在SQL Server 2008上有一个存储过程,它将某些值从一个表复制到另一个表,我需要取3个值并将它们组合成第二个(复制到)表中的一个值。
INSERT INTO copyto (FIELD_ONE, FIELD_TWO, FIELD_THREE,
OTHER_DATA1, OTHER_DATA2, OTHER_DATA3,
)
SELECT LTRIM(RTRIM(OTHER_DATA1)), LTRIM(RTRIM(OTHER_DATA2)),
LTRIM(RTRIM(OTHER_DATA3)),LTRIM(RTRIM(FIELD_ONE)),
LTRIM(RTRIM(FIELD_TWO)), LTRIM(RTRIM(FIELD_THREE))
FROM copyfrom
在上面的例子中(这是从存储过程中提取的代码)我需要连接字段1,2和3.
答案 0 :(得分:3)
请注意,如果至少有一个字段碰巧为NULL,则使用“+”连接字段将不会返回任何结果。使用ISNULL(myfield,'')
或COALESCE(myfield,'')
作为每个
答案 1 :(得分:1)
您只需像在任何/大多数其他编程语言中那样连接它们:
select LTRIM(RTRIM(FIELD_ONE)) + LTRIM(RTRIM(FIELD_TWO)) + LTRIM(RTRIM(FIELD_THREE))
FROM copyfrom
这将“返回”一列。