将 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
为确保获得值,您必须确保所有部分都提供非空值。这是使用 isNull 或 coalesce 完成的。我更喜欢 coalesce 因为它更像是一个标准(如果我错了请纠正我)。或者您可以使用非常有用的 concat 函数,它会处理所有这些参数。
所以你的声明应该是这样的:
Select coalesce(StuName,'') + ' ' + coalesce(StuLName,'') From Tbl_Student
或
Select concat(StuName,' ',StuLName) From Tbl_Student
嗨,我有两个单独的列 [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
为确保获得值,您必须确保所有部分都提供非空值。这是使用 isNull 或 coalesce 完成的。我更喜欢 coalesce 因为它更像是一个标准(如果我错了请纠正我)。或者您可以使用非常有用的 concat 函数,它会处理所有这些参数。
所以你的声明应该是这样的:
Select coalesce(StuName,'') + ' ' + coalesce(StuLName,'') From Tbl_Student
或
Select concat(StuName,' ',StuLName) From Tbl_Student