将 2 列合并为一列

Combine 2 Columns in One Column

嗨,我有两个单独的列 [StuName , StuLName]

在 select 我这样使用 :

Select StuName, StuLName From Tbl_Student

Result : [Mahdi], [Hosseini]

有没有办法将这两列合并为一列(仅在 select 中),如下所示:

Select StuName + " " + StuLName From Tbl_Student

结果(举例):

Mahdi Hosseini

StuName 和 StuLName 是 NVARCHAR

您的查询应该有效。否则,您也可以使用 [CONCAT] 将两个或多个字符串串在一起:

SELECT CONCAT('First' , ' ' , 'Last' )

结果:

First Last

有关 MSDN 上 Concat 的更多信息。

对于您的情况,这应该可以解决问题:

SELECT CONCAT(StuName, ' ',StuLName) AS StudentName FROM Tbl_Student

试试这个:

SELECT TABLE_SCHEMA + '.' + TABLE_NAME AS ColumnZ 
FROM information_schema.tables

SQL 使用一对单引号代替双引号。这应该可以正常工作:

Select StuName + ' ' + StuLName From Tbl_Student

试试这个查询,其中一列可能有空值,所以它将 return 一个空值

 Select ISNULL(StuName,'') + ' ' + ISNULL(StuLName,'') From Tbl_Student

首先,您的语句试图获取名为“ ”的列。如果您只想要一个 space 字符,则需要使用单引号:' '。使用双引号,您通常指的是列或数据库对象。

SqlServers 字符串连接 returns null 如果至少一个连接值是 null:

'te' + 'st' = 'test'

但是

'te' + null = null

为确保获得值,您必须确保所有部分都提供非空值。这是使用 isNullcoalesce 完成的。我更喜欢 coalesce 因为它更像是一个标准(如果我错了请纠正我)。或者您可以使用非常有用的 concat 函数,它会处理所有这些参数。

所以你的声明应该是这样的:

Select coalesce(StuName,'') + ' ' + coalesce(StuLName,'') From Tbl_Student

Select concat(StuName,' ',StuLName) From Tbl_Student