2012-04-09 114 views
1

我想在一個表中運行一個查詢,我將一列的值與另一列連接起來。連接兩列值

類似以下(javascripty嘗試):

UPDATE table 
SET items = items+","+item1 
WHERE item1 != "No Data" || item1 != ""; 

這可能在數據庫中做或做我需要在中間件要幹什麼呢? 任何指針再次非常感謝。

+0

你可以這樣做,但我不記得是什麼因爲是一個特定的問題。 – 2012-04-10 00:00:10

回答

2

concat_ws看看:

# Untested, but should work 
UPDATE table 
SET items = CONCAT_WS(',', items, item1) 
WHERE item1 != "No Data" || item1 != ""; 
+0

就像一個魅力!謝謝 – Chin 2012-04-10 00:15:28

1

另一種方式來解決這個問題:

UPDATE table 
SET items = CONCAT(items,',',item1) 
WHERE item1 != "No Data" OR item1 != ""; 

一個CONCAT()和CONCAT_WS()函數(如由麥克描述之間的主要區別上面)是他們對NULL值的處理。欲瞭解更多信息,請參閱MySQL參考手冊的字符串函數部分:http://dev.mysql.com/doc/refman/5.6/en/string-functions.html

使用「||」可能還有一些問題, (管道)字符,如果MySQL服務器啓用了PIPES_AS_CONCAT模式。以防萬一,最好將其更改爲「或」: http://dev.mysql.com/doc/refman/4.1/en/server-sql-mode.html#sqlmode_pipes_as_concat