簡體   English   中英

一列合並2列

[英]Combine 2 Columns in One Column

嗨,我有兩個單獨的列[StuName,StuLName]

在選擇中我這樣使用:

Select StuName, StuLName From Tbl_Student

結果:[Mahdi],[Hosseini]

有什么辦法可以將這2列合並為一列(僅在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

嘗試此查詢,該列之一可能具有空值,因此它將返回空值

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

首先,您的語句嘗試獲取名為“”的列。 如果只需要空格字符,則需要使用單引號:“”。 使用雙引號通常會引用列或數據庫對象。

如果至少一個串聯值是null,則SqlServers字符串串聯返回null:

'te' + 'st' = 'test'

'te' + null = null

為了確保獲得價值,您必須確保所有部分都傳遞非空值。 使用isNullcoalesce完成此操作。 我更喜歡合並,因為它更不符合標准(如果我做錯了,請糾正我)。 或者,您可以使用非常有用的concat函數,該函數將所有這些參數用作參數。

因此,您的聲明應如下所示:

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

要么

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM