Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-02-2008
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 293
Poder: 18
GustavoCruz Va por buen camino
Concadenar dos campos

Hola amigos del foro, mi inquietud ahora es saber si hay alguna forma de concadenar dos campos; uno de tipo Texto y otro de tipo Numero.

Trabajo con una base de datos Access, el código que utilizo es el siguiente:
Código SQL [-]
select campo1Texto+" "+campo2Numero from tabla

sé que esto se puede solucionar por otros medios como con las propiedades de los campo, en este caso,
Código Delphi [-]
tablacampo2Numero.AsString

pero me gustaría saber si hay alguna forma de hacerlo directamente desde la consulta.

Gracias por vuestro tiempo...
Responder Con Cita
  #2  
Antiguo 08-02-2008
gendelphi gendelphi is offline
Miembro
 
Registrado: jul 2003
Ubicación: Tlaxcala Mexico
Posts: 73
Poder: 21
gendelphi Va por buen camino
La verdad nunca he trabajado en Access, pero en Firebird u Oracle lo hago asi:

Código SQL [-]
SELECT campo1 || '  ' || campo2
FROM tabla
Responder Con Cita
  #3  
Antiguo 08-02-2008
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 293
Poder: 18
GustavoCruz Va por buen camino
Hola gendelphi.

...Pero eso funciona con dos campos de diferentes tipos, es decir, mi problema consiste en concadenar directamente en la consulta dos campos uno de ellos es numérico y el otro alfanumérico

Gracias por tu sugerencia
Responder Con Cita
  #4  
Antiguo 08-02-2008
gendelphi gendelphi is offline
Miembro
 
Registrado: jul 2003
Ubicación: Tlaxcala Mexico
Posts: 73
Poder: 21
gendelphi Va por buen camino
Lo acabo de probar en Firebird 2, y si funciona, si concatena los campos numeric con varchar.
Responder Con Cita
  #5  
Antiguo 08-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Te recuerdo que la mayoría de motores SQL, en lo posible, se hace la conversión automática de tipos.

Generalmente, podes pasar de cualquier tipo (que no sea blob) directamente a cadena, sin aplicar un molde.

Así, podes tener esto:
Código SQL [-]
select fecha||edad||precio||direccion
  from tabla;
Y te devolverá una cadenota!.

En mi experiencia esto trabaja bien con firebird, sql server, oracle, interbase, etc.



Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 08-02-2008
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 293
Poder: 18
GustavoCruz Va por buen camino
Hola jachguate, he probado lo que me dices pero no encuentro solución, por el contrario me da un mensaje que dice "Uso de barras verticales no válido en la expresión de consulta fecha||edad"
Código SQL [-]
select fecha||edad||precio||direccion
  from tabla;

entodo caso gracias por vuestro tiempo...
Responder Con Cita
  #7  
Antiguo 08-02-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
Hola
Puedes probar convirtiendo el campo entero en cadena

select campo.texto+' '+cast(campo.entero as char (16)) as concatenado from tabla

Para los demas campos puedes hacer lo mismo, en los campos fecha siempre devolvera el formato mm/dd/aaaa
Responder Con Cita
  #8  
Antiguo 08-02-2008
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 293
Poder: 18
GustavoCruz Va por buen camino
Hola hecospina, realmente no sé qué está sucediendo , pero la sugerencia que me haces me nuestra el siguiente mensaje: "ERROR NO ESPECIFICADO".

Les recuerdo, estoy trabajado con una DB Access

Gracias por vuestro tiempo...
Responder Con Cita
  #9  
Antiguo 08-02-2008
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 293
Poder: 18
GustavoCruz Va por buen camino
Lo he solucionado, la forma de concatenar dos campos, como en mi caso; es utilizando los caracteres (&) de esta forma:

Código SQL [-]
select cnenrutado & " " &  cncodigo as codigo, usapellidos, cndireccion, runombre, esnombre, banombre, cncodigo, fcnumero,
fcemision, fcfacturado, fcleyenda, fcpendientes, fcoportuno, fccorte, dfagua, dfalcantarillado, dfaseo, dfconvenio, 
dfsubsidio from ustable, cntable, fctable, dftable, rutable, batable, estable where uscodigo=cnuscodigo and 
fccncodigo = cncodigo and fcnumero=dffnumero and rucodigo=cnrucodigo and
rucodigo=cnrucodigo and escodigo=cnescodigo

los campos cnenrutado y cncodigo son campos numéricos y al momento de concatenarlos con un espacio, me mostraba un error (El proveedor de datos u otro servicio devolvió un estado E_FAIL).


Gracias a todos por el tiempo que me dedicaron
Responder Con Cita
  #10  
Antiguo 08-02-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
Mira aqui...
Tambien encontre algo en la ayuda de Access... por algo la trae

Saludos
__________________
Web
Responder Con Cita
  #11  
Antiguo 09-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cita:
Empezado por GustavoCruz Ver Mensaje
Hola jachguate, he probado lo que me dices pero no encuentro solución, por el contrario me da un mensaje que dice "Uso de barras verticales no válido en la expresión de consulta fecha||edad"
Cita:
Empezado por GustavoCruz
Les recuerdo, estoy trabajado con una DB Access
Cuándo hice la aclaración, aunque no fuí explicito, estaba refiriéndome a motores que cumplen con el estándar SQL. Lamentablemente Access no es uno de ellos.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #12  
Antiguo 07-03-2009
MaSSaKKre MaSSaKKre is offline
Miembro
 
Registrado: sep 2005
Posts: 34
Poder: 0
MaSSaKKre Va por buen camino
Cita:
Empezado por GustavoCruz Ver Mensaje
Lo he solucionado, la forma de concatenar dos campos, como en mi caso; es utilizando los caracteres (&) de esta forma:

Código SQL [-]select cnenrutado & " " & cncodigo as codigo, usapellidos, cndireccion, runombre, esnombre, banombre, cncodigo, fcnumero, fcemision, fcfacturado, fcleyenda, fcpendientes, fcoportuno, fccorte, dfagua, dfalcantarillado, dfaseo, dfconvenio, dfsubsidio from ustable, cntable, fctable, dftable, rutable, batable, estable where uscodigo=cnuscodigo and fccncodigo = cncodigo and fcnumero=dffnumero and rucodigo=cnrucodigo and rucodigo=cnrucodigo and escodigo=cnescodigo


los campos cnenrutado y cncodigo son campos numéricos y al momento de concatenarlos con un espacio, me mostraba un error (El proveedor de datos u otro servicio devolvió un estado E_FAIL).


Gracias a todos por el tiempo que me dedicaron

amigo tu explicación me ha sido de gran ayuda, ya tenia un ratito leyendo en el foro hasta que encontré este tema y pude solucionar un problemita de concatenación que tenía en mi consulta SQL, uso Delphi 2005 con Acces.

Gracias a todos xq aunque casi no escribo siempre leo el foro y siempre hay quien me saca de una duda sin antes preguntar nada jejejeje
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Campos BLOB TJose Firebird e Interbase 4 28-12-2006 18:48:20
validacion de campos iris2408 Varios 5 18-06-2006 20:09:24
El Orden en los campos manuelgomez OOP 9 31-05-2006 18:12:53
validar campos.... chileno Conexión con bases de datos 2 27-05-2006 19:27:30
Campos En Sql ebeltete SQL 2 13-05-2003 01:26:50


La franja horaria es GMT +2. Ahora son las 09:58:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi