2017-06-21 107 views
-1

我試圖將兩列中的值合併爲一個,但我希望它們在導出到Excel時位於另一列下。將2個SQL列合併爲1

實施例:

Select 'TEST' + ' ' + 'TEST2' 

此返回

TEST TEST2 

但我想輸出是:

TEST 
TEST2 

我有兩列:數據1 VARCHAR(35),NULL。數據2 VARCHAR(35),NULL

我感謝您的幫助..

+0

提示:UNION(https://docs.microsoft.com/en-us/sql/ t-sql/language-elements/set-operators-union-transact-sql) – scsimon

+2

[SQL Server:如何在兩個查詢中使用UNION並使用WHERE子句?](https://stackoverflow.com/問題/ 5426767/sql-server-how-to-use-union-with-two-queries-that-both-have-a-where-clause) – scsimon

+0

請編輯你的問題,提供專欄及其數據類型 – PawelCz

回答

1

這是你在找什麼?

Select 'test' 
union 
Select 'test2' 
0
要將換行符

串聯並插入CHAR(13)。例:

PRINT 'Line1' + CHAR(13) + 'Line2' 

打印:

Line1 Line2

+0

我正在嘗試在我的查詢中使用它,並且您知道print不允許位於其中一列中。謝謝! – user7675421

+0

嗯我以爲你想要一個_message_輸出。在這種情況下,@Frivolin給出的答案將是一個 –

0

這是你在找什麼:

Select 'TEST' + char(13) + 'TEST2' 

電網輸出看起來是一條線,但實際上你得到兩個行如果你複製粘貼

編輯,建議在另一個答案:

Select 'TEST' + char(13)+char(10) + 'TEST2' 

EDIT(基於問題的新信息):

select isnull(column1, '') + char(13) + char(10) + isnull(column2, '') 
from YourTable 
+0

PawelCz。輸出仍然是測試TEST2,我想要: – user7675421

+0

下面有TEST和Test2 – user7675421

+1

複製粘貼輸出到記事本,它在 – PawelCz

0

您可以使用UNION ALL作爲@dmitry Bychenko放棄並在Excel中,當您導出,可以在2個單元格合併成一個小區。

SQL沒有辦法轉換兩行輸出並確保它們在Excel中的一個單元格中。這是你必須自己「合併」的東西。

0

char(13)是CR。對於DOS-/Windows風格CRLF,你應該使用CHAR(13)+ CHAR(10):

Select 'TEST' + char(13)+char(10) + 'TEST2' 
+0

即使當我複製它。 – user7675421