2010-03-19 149 views

回答

28

使用CONCAT

http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_concat

SELECT CONCAT(1, 2); 
-- "12" 

SELECT CONCAT('foo', 'bar'); 
-- "foobar" 

SELECT CONCAT(1, 'bar'); 
-- "1bar" 
+1

它用於整數以及varchars?因爲我的印象是CONCAT只用於字符串類型。 – Rachel 2010-03-19 16:49:59

+1

是的,它轉換整數。如果您按照提供的鏈接@nickf,可以找到詳細信息。 – titanoboa 2010-03-19 16:56:46

+9

Mysql不會像您期望的那樣將整數轉換爲字符串。它拉開了數字的二進制表示,這是不一樣的。 「如果參數包含任何二進制字符串,則結果爲二進制字符串,數字參數將轉換爲其等效的二進制字符串形式;如果您想避免這種情況,可以使用明確的類型轉換,如下例所示: SELECT CONCAT(CAST(int_col AS CHAR),char_col); – MrM 2011-08-26 11:17:10

31

如果參數包含任何二進制字符串,結果是一個二進制字符串。一個數字參數被轉換爲它的等價二進制字符串形式;如果你想避免這種情況,你可以使用顯式類型轉換,如下面的例子:

SELECT CONCAT(CAST(int_col AS CHAR), char_col); 

5.1 Documentations

+0

update user set emailId = select CONCAT(2000000000,userId,'@ xyz.local')。這是什麼問題? – 2013-04-26 18:55:15

-1

對於兩列串聯 名稱:CHAR 和 沒有:整數

PIG語法是CONCAT(name,(CHARARRAY)no);