2010-03-19 23 views

Respuesta

28

Uso 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

Se utiliza para enteros así como para varchar? porque tenía la impresión de que CONCAT solo se usa para tipos de cadenas. – Rachel

+1

Sí, convierte los enteros. Puede encontrar los detalles si sigue el enlace @nickf proporcionado. – titanoboa

+9

Mysql no convierte números enteros como cadenas como cabría esperar. Retira la representación binaria del número, que no es lo mismo. "si los argumentos incluyen cadenas binarias, el resultado es una cadena binaria. Un argumento numérico se convierte a su forma de cadena binaria equivalente; si desea evitar eso, puede usar un molde de tipo explícito, como en este ejemplo: SELECCIONE CONCAT (CAST (int_col AS CHAR), char_col); – MrM

31

si los argumentos incluyen todas las cadenas binarias, el resultado es una cadena binaria. Un argumento numérico se convierte a su forma de cadena binaria equivalente; si se quiere evitar eso, se puede utilizar un tipo de conversión explícita, como en este ejemplo:

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

5.1 Documentations

+0

actualice el usuario set emailId = seleccione CONCAT (2000000000, userId, '@ xyz.local'). ¿Qué hay de malo en esto? –

-1

Durante dos columnas concatenación nombre: CHAR y no: int

La sintaxis de PIG es CONCAT (nombre, (CHARARRAY) no);