2012-07-09 24 views

Respuesta

14

No hay diferencia funcional.

|| es el operador de concatenación de cadenas estándar ANSI (aunque, desafortunadamente, no todas las bases de datos <cough>SQL Server</cough> eligen soportar el estándar). Muchas bases de datos admiten una función CONCAT por lo que puede ser más fácil codificar el puerto utilizando CONCAT en diferentes bases de datos.

+0

Conozco solo dos DBMS que no cumplen con el estándar SQL: SQL Server y MySQL. Y MySQL puede al menos configurarse para aceptar '||' como el operador de concatenación. –

+3

+1 para las etiquetas solo :-) – DCookie

+0

Vaya, el servidor SQL tiene un operador equivalente '+' que es como [el soporte parcial de Oracle de las funciones estándar ANSI] (http://docs.oracle.com/cd/ B19306_01/server.102/b14200/ap_standard_sql003.htm # sthref10080) Funciones CHARACTER_LENGTH, OCTET_LENGTH, SUBSTRING o POSITION. –

1

La función 'concat' se puede operar solo en 2 variables o columnas, mientras que la operación 'concat' se puede hacer para cualquier cantidad de variables o columnas.

+2

En Oracle, [esto es cierto] (http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions026.htm). – NReilingh

+2

CONCAT tomará tantas entradas como desee en MySql. –

Cuestiones relacionadas