您可以参考以下查询以获取相同的信息-
select FirstName +' '+ MiddleName +' ' + Lastname as Name from TableName.
Run Code Online (Sandbox Code Playgroud)
select CONCAT(FirstName , ' ' , MiddleName , ' ' , Lastname) as Name from
TableName
Run Code Online (Sandbox Code Playgroud)
select Isnull(FirstName,' ') +' '+ Isnull(MiddleName,' ')+' '+ Isnull(Lastname,' ')
from TableName.
Run Code Online (Sandbox Code Playgroud)
注意:如果所有列都具有某个值(如果任何人为null或为空),则第1点查询将返回所有值,那么它将为所有返回null,这意味着Name将返回“ NULL”值。
为避免点号1,可以使用点号2或点号3-
我们可以使用IsNull或CONCAT关键字来获得相同的结果。
如果任何人包含空值,那么''(空格)将添加下一个值。
RTRIM和LTRIM将去除在每个端部的任何空白。CONCAT 将名称段附加在一起COALESCE替换NULL为空字符串格式化以提高可读性
SELECT
RTRIM(LTRIM(
CONCAT(
COALESCE(FirstName + ' ', '')
, COALESCE(MiddleName + ' ', '')
, COALESCE(Lastname, '')
)
)) AS Name
FROM TableName
Run Code Online (Sandbox Code Playgroud)
Replace 函数在连接名字、中间名和姓氏时删除两个字符空格。
SQL2016及以上兼容代码
SELECT REPLACE(CONCAT(FirstName+' ',MiddleName+' ',LastName+' '),' ',' ')
AS EmployeeName
FROM dbo.Employee
Run Code Online (Sandbox Code Playgroud)
SQL SERVER 2017 兼容代码:
SELECT REPLACE(CONCAT_WS(' ',FirstName,MiddleName,LastName),' ',' ')AS
EmployeeName FROM dbo.Employee
Run Code Online (Sandbox Code Playgroud)
Just Do A 将 #3 上的双空格替换为单空格,它应该按预期工作
SELECT
LTRIM(RTRIM(REPLACE(
ISNULL(FirstName,' ')
+' '+
ISNULL(MiddleName,' ')
+' '+
ISNULL(Lastname,' '),
' ',' ')))
FROM TableName
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15025 次 |
| 最近记录: |