SQL INSERT INTO SELECT,组合varchar列

时间:2012-02-07 22:20:09

标签: sql sql-server

假设我有一个包含firstName和lastName列的表。是否可以执行INSERT INTO newTable SELECT firstName, lastName FROM oldTable,但不是在结果表中有两列,而是连接两列?

同样,是否可以将列与静态字符串连接?

2 个答案:

答案 0 :(得分:6)

是的,你做的

SELECT LTRIM(RTRIM(ISNULL(firstName, '') + ' ' + ISNULL(lastName, ''))) FROM oldTable

这将整合firstName和lastName列,以及中间的静态字符串' '

编辑:添加LTRIM(RTRIM(...))因此,如果firstName或lastName为null,则结果将不会有静态' '字符串的前导或尾随空格。

答案 1 :(得分:2)

是的,如果您有静态字符串或变量,您可以说:

DECLARE @variable VARCHAR(255);

SET @variable = 'some string';

INSERT INTO dbo.NewTable(column name) 
SELECT 
  COALESCE(firstname, '') + ' ' + COALESCE(lastname, '') + @variable + 'static string' 
FROM dbo.OldTable;