嗨我有两个单独的列[StuName,StuLName]
在选择中我使用如下:
Select StuName, StuLName From Tbl_Student
结果:[Mahdi],[Hosseini]
有没有办法将这两列合并在一列(仅限于select)中:
Select StuName + " " + StuLName From Tbl_Student
结果(例如):
Mahdi Hosseini
StuName和StuLName是NVARCHAR
答案 0 :(得分:4)
您的查询应该有效。否则,您也可以使用[CONCAT]
来串联两个或更多字符串:
SELECT CONCAT('First' , ' ' , 'Last' )
结果:
First Last
有关MSDN上的Concat的更多信息。
在你的情况下,这应该是诀窍:
SELECT CONCAT(StuName, ' ',StuLName) AS StudentName FROM Tbl_Student
答案 1 :(得分:1)
试试这个:
SELECT TABLE_SCHEMA + '.' + TABLE_NAME AS ColumnZ
FROM information_schema.tables
答案 2 :(得分:1)
SQL使用一对单引号而不是双引号。这应该工作正常:
Select StuName + ' ' + StuLName From Tbl_Student
答案 3 :(得分:1)
尝试此查询,其中一列可能具有空值,因此它将返回空值
Select ISNULL(StuName,'') + ' ' + ISNULL(StuLName,'') From Tbl_Student
答案 4 :(得分:1)
首先,您的语句尝试获取名为“”的列。如果您只想要一个空格字符,则需要使用单引号:''。使用双引号时,通常会引用列或数据库对象。
如果至少有一个连接值为null,则SqlServers字符串连接返回null:
'te' + 'st' = 'test'
但
'te' + null = null
为确保获得值,您必须确保所有部分都提供非空值。这是使用 isNull 或合并完成的。我更喜欢合并,因为它更像是一个标准(如果我错了,请纠正我)。或者你可以使用非常有用的 concat 函数来处理所有这些参数。
所以你的陈述应该是这样的:
Select coalesce(StuName,'') + ' ' + coalesce(StuLName,'') From Tbl_Student
或
Select concat(StuName,' ',StuLName) From Tbl_Student