SQL INSERT INTO SELECT,组合varchar列

car*_*pat 3 sql sql-server

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

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

Wil*_* P. 6

是的,你会的

SELECT LTRIM(RTRIM(ISNULL(firstName, '') + ' ' + ISNULL(lastName, ''))) FROM oldTable
Run Code Online (Sandbox Code Playgroud)

这会将firstName和lastName列以及它们' '之间的静态字符串合并

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

  • 要小心`NULL`值虽然......`NULL`与其他东西连接会产生`NULL` (3认同)