sql-server - 合并名字和姓氏并更新为每行的全名列

标签 sql-server t-sql

对于每个名字和姓氏,我只想将它们组合并更新到同一个“名称”表中的全名列中。

表中的每一行都应该发生这种情况。这些列是 Id、FirstName、LastName 和 FullName。

如有任何帮助,我们将不胜感激

update Names n 
set n.FullName = (
    select CONCAT(FirstName,' ',LastName)  
    from Names a 
    where n.Id = a.Id
)
where n.FullName is null 
and n.FirstName is not null and n.LastName is not null

最佳答案

此更新空白或具有 NULL 值的 FullName 列。

UPDATE Names
SET FullName = ISNULL(FirstName + ' ','') +  ISNULL(LastName,'')
WHERE ISNULL(FullName,'') = '' 

编辑

UPDATE Names
SET FullName = FirstName + ' ' + LastName
WHERE ISNULL(FullName,'') = '' AND  ISNULL(FirstName,'') <> '' AND ISNULL(LastName,'') <> ''

关于sql-server - 合并名字和姓氏并更新为每行的全名列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40670059/

相关文章:

sql-server - Microsoft SQL Server 中缺少 DTS 文件夹

sql-server - UPDATE/JOIN (SQL Server) 中另一台服务器上的表中的引用列

sql-server - 如何在 SQL Server 中创建 id 字段?

sql-server - 将日期转换为 varchar,然后将其转换回日期

sql-server - TSQL Where 子句 'Search Condition' 的语法是否不正确?

sql-server - UNION 与 IF 语句

sql-server - 如何创建需要两个外键之一的表?

sql - 动态 TSQL 查询输出为 XML

sql - 如何根据合并列的值过滤分组查询?

sql-server - 如何在sql中将时间跨度转换为年、月和日