我試圖找到一種方法將兩列合併爲一列,但不斷在列中獲取值「0」而不是單詞的組合。MySQL將兩列合併爲一列
這些是我已經試過以及其他:
SELECT column1 + column2 AS column3
FROM table;
SELECT column1 || column2 AS column3
FROM table;
SELECT column1 + ' ' + column2 AS column3
FROM table;
可能有人請讓我知道我做錯了嗎?
我試圖找到一種方法將兩列合併爲一列,但不斷在列中獲取值「0」而不是單詞的組合。MySQL將兩列合併爲一列
這些是我已經試過以及其他:
SELECT column1 + column2 AS column3
FROM table;
SELECT column1 || column2 AS column3
FROM table;
SELECT column1 + ' ' + column2 AS column3
FROM table;
可能有人請讓我知道我做錯了嗎?
我的猜測是,您正在使用MySQL,其中+
運算符會添加,並將值無聲轉換爲數字。如果值不以數字開頭,則轉換後的值爲0
。
那麼試試這個:
select concat(column1, column2)
兩種方式來添加一個空格:
select concat(column1, ' ', column2)
select concat_ws(' ', column1, column2)
這是一個將工作對我來說,當我需要的列之間的空間是唯一的解決辦法合併。
select concat(concat(column1,' '), column2)
我已經使用這個方法及其最佳永遠。在這段代碼也無效處理
SELECT Title,
FirstName,
lastName,
ISNULL(Title,'') + ' ' + ISNULL(FirstName,'') + ' ' + ISNULL(LastName,'') as FullName
FROM Customer
嘗試......
對於MySQL的球迷在那裏,我喜歡IFNULL()
功能。這裏的其他答案在一些實現中提出了與ISNULL()
函數類似的功能。在我的情況,我的描述是NOT NULL
的一列,這可能是NULL
序列號的列這是我如何將它們結合在一起成一列:
SELECT CONCAT(description,IFNULL(' SN: ', serial_number),'')) FROM my_table;
我的研究結果表明,級連的結果字符串NULL
的結果爲NULL
。在這些情況下,我一直在獲得替代價值。
這是爲我工作
SELECT CONCAT(column1, ' ' ,column2) AS newColumn;
convert(varchar, column_name1) + (varchar, column_name)
如果您正在使用Oracle
然後:
SELECT column1 || column2 AS column3
FROM table;
OR
如果您正在使用的MySQL然後:
SELECT Concat(column1 ,column2) AS column3
FROM table;
- 用於實例:組數字的列.... - 當用數字合併列,你必須投從#DATA類型的列字符串 --otherwise SQL會添加這些在相同的列/結果中一起編號。
select cast(shipperid as varchar)+'| '+ cast(empid as varchar) from sales.Orders
您使用的數據庫是?這兩列的類型是什麼? –
mySQL web客戶端 – aab
[將兩個數據庫列連接到一個結果集列]可能的重複(http://stackoverflow.com/questions/6427764/concatenate-two-database-columns-into-one-resultset-column) –