假设我有一个包含firstName和lastName列的表。是否可以执行INSERT INTO newTable SELECT firstName, lastName FROM oldTable
,但不是在结果表中有两列,而是连接两列?
同样,是否可以将列与静态字符串连接?
答案 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;