Bienvenido(a) a Proyecto Script

Hola!!!

Este es un buen lugar donde buscar las respuestas a tus dudas sobre "Programación", "Lenguajes", "Linux", "Electrónica", etc.

Suele ser difícil buscar en la red y encontrar respuestas claras y en español a muchas preguntas sobre estos temas, así que aquí tienes un buen lugar para iniciar.

Quieres ser parte de esto, solo ¡regístrate!

martes, 31 de marzo de 2009

Concatenación de cadenas en SQL

Concatenar cadenas en SQL no es algo estandar así que depende mucho del manejador de base de datos que estemos usando y aquí tenemos ejemplos con tres de ellos:

Con oracle existen dos formas, una es con la funcion "CONCAT" y otra con el operador "||", con la funcion "CONCAT" no podemos concatenar mas de dos cadenas, es decir, acepta dos argumentos, en cambio con el operador "||" podemos concatenar mas (si somos estrictos el operador "||" tampoco concatena mas de dos por ser un operador binario pero por la sintaxis se puede aparentar hacerlo):


   1 CONCAT('hola','mundo')                 => 'holamundo'
   2 CONTACT(CONCAT('hola','mundo'),'hola') => 'holamundohola'
   3 CONCAT('hola',CONCAT('hola','mundo'))  => 'holaholamundo'
   4 'hola' || 'mundo'                      => 'holamundo'
   5 'hola' || 'mundo' || 'hola'            => 'holamundohola'

En el caso de mysql, existe también esta función solo que si acepta mas de dos cadenas (parámetros):


   1 CONCAT('hola','mundo')                => 'holamundo'
   2 CONCAT('hola','mundo','hola')         => 'holamundohola'
   3 CONCAT('hola','mundo','hola','mundo') => 'holamundoholamundo'

Y el caso de sqlserver o access, ellos tienen el operador "+" y de la misma forma que el operador "||" de oracle, es binario pero aparenta "recibir" mas de dos parámetros:


   1 'hola' + 'mundo'          => 'holamundo'
   2 'hola' + 'mundo' + 'hola' => 'holamundohola'

No hay comentarios: