SQL - concatenacion de campos

 
Vista:

concatenacion de campos

Publicado por christian (5 intervenciones) el 21/01/2008 23:49:38
tengo el siguiente problema. tengo loscampos NOMBRE , NOMBRE2, APELLIDOPAT, APELLIDO MAT
el ejemplo es el siguiente si tuviera el nombre CESAR, JAIME, TORRE, GONZALES
entonces hago un query q concatene los campos y qde CESAR JAIME TORRES GONZALES.
hasta ahi esta todo bien
pero que pasa si no tengo el segundo nombre.entonces me qdaria
CESAR TORRES GONZALES.
me dejaria un espacio por el segundo nombre que no ingrese, como puedo hacer para que me kite ese espacio y me quede CESAR TORRES GONZALES.

Espero su ayuda.

Muchas Gracias

Christian
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:concatenacion de campos

Publicado por Isaias (5072 intervenciones) el 22/01/2008 02:29:31
¿En que base de datos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:concatenacion de campos

Publicado por Christian (5 intervenciones) el 22/01/2008 16:39:06
es en sql.. y este es el store procedure que cree

ALTER PROCEDURE [dbo].[STR_GeneracionNombreItem] @FAMILIA VARCHAR(3), @MARCA VARCHAR(40),
@SUBFAMILIA VARCHAR(40), @MODELO VARCHAR(40), @CAPACIDAD VARCHAR(3),@POTENCIA VARCHAR(3),
@VELOCIDAD VARCHAR(3), @COLOR VARCHAR(3), @ADICIONAL VARCHAR(80), @PRESENTACION VARCHAR(1)
AS
BEGIN

DECLARE @FAMILIANOMBRE VARCHAR(20)
DECLARE @CAPACIDADNOMBRE VARCHAR(30)
DECLARE @POTENCIANOMBRE VARCHAR(30)
DECLARE @VELOCIDADNOMBRE VARCHAR(30)
DECLARE @COLORNOMBRE VARCHAR(30)
DECLARE @PRESENTACIONNOMBRE VARCHAR(30)

SET @FAMILIANOMBRE = (SELECT ItmsGrpNam FROM OITB WHERE ItmsGrpCod = @FAMILIA)
SET @CAPACIDADNOMBRE = (SELECT Name FROM [@CW_CAPACIDAD] WHERE Code = @CAPACIDAD)
SET @POTENCIANOMBRE = (SELECT Name FROM [@CW_POTENCIA] WHERE Code = @POTENCIA)
SET @VELOCIDADNOMBRE = (SELECT Name FROM [@CW_VELOCIDAD_BUS] WHERE Code = @VELOCIDAD)
SET @COLORNOMBRE = (SELECT Name FROM [@CW_COLOR] WHERE Code = @COLOR)
SET @PRESENTACIONNOMBRE = (SELECT Name FROM [@CW_PRESENTACION] WHERE Code = @PRESENTACION)

SELECT @FAMILIANOMBRE+' '+@MARCA+' '+@SUBFAMILIA+' '+@MODELO+' '+ISNULL(@CAPACIDADNOMBRE,'')+' '+ISNULL(@POTENCIANOMBRE,'')+ ' ' +ISNULL(@VELOCIDADNOMBRE,'')+' '+ISNULL(@COLORNOMBRE,' ')+' '+ISNULL(@ADICIONAL,' ')+' '+ISNULL(@PRESENTACIONNOMBRE,' ')

END
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:concatenacion de campos

Publicado por Isaias (5072 intervenciones) el 22/01/2008 18:25:35
Christian

SQL, es el lenguaje estandar para el acceso de bases de datos, cuando te pregunto que BASE DE DATOS, me refiero al motor, SQL SERVER, ORACLE, DB2, INFORMIX, SYBASE, ETC.

Para SQL Server puedes utilizar CASE

SELECT PRIMERNOMBRE + CASE WHEN SEGUNDONOMBRE IS NULL OR SEGUNDONOMBRE = '' THEN '' ELSE SEGUNDONOMBRE END+' '+APATERNO+CASE WHEN AMATERNO IS NULL OR AMATERNO = '' THEN '' ELSE ' ' + AMATERNO END
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar