Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-12-2013
amerika111 amerika111 is offline
Miembro
 
Registrado: nov 2009
Posts: 168
Poder: 0
amerika111 cantidad desconocida en este momento
Concatenar dos campos en Consulta

buenas tardes, tengo una consulta o problematica, realizo una consulta en sql concatenando dos campos, habra una manera de que se mantenga un espacio estandar entre los dos campos concatenados.

Código SQL [-]
 select fname + '  ' +aname from empleados

teniendo como resultado
fname+ aname
SMITH CLERK
ALLEN SALESMAN
WARD SALESMAN
JONES MANAGER
MARTIN SALESMAN

pero necesitaria que se viera asi
SMITH CLERK
ALLEN SALESMAN
WARD SALESMAN
JONES MANAGER
MARTIN SALESMAN

que no importando la longitud del primer campo se mantuviera la misma separación con el siguiente campo, y creo que no se alcanza apreciar en el ejemplo

pero lo que quisiera lograr y si se puede?

seria campo1 + 2 espacios blanco+ campo2
un ejemplo seria longitud de campo1 (8)
y teniendo en cuenta que los espacios son dos
entonces seria campo1 + 2 espacios+ campo 2
ahora si bien un registro del campo1 con longitud de 5, entonces seria campo1+5 espacios+campo2
asi siempre se mantendra la distancia con el campo2 que se concatene

Última edición por amerika111 fecha: 10-12-2013 a las 03:15:15.
Responder Con Cita
  #2  
Antiguo 10-12-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola amerika111.

No uso MS SQL pero supongo que con las funciones SUBSTRING y LEN, tendrías que lograr lo que buscas:
Código SQL [-]
SELECT CAMPO1 + SUBSTRING('[8 espacios]', 1, 8 - LEN(CAMPO1)) + CAMPO2 AS UN_NOMBRE
FROM TU_TABLA
En este ejemplo se completa a CAMPO1 con tantos espacios como caracteres le falte para llegar a ocho.

En el caso que el primer campo se tratase de un apellido y desearas "rellenarlo" con espacios hasta llegar a treinta caracteres, deberías usar:
Código SQL [-]
SELECT APELLIDO + SUBSTRING('[30 espacios]', 1, 30 - LEN(APELLIDO)) + NOMBRE AS APELLIDONOMBRE
FROM CLIENTES
Pero la correcta tabulación de la salida dependerá del font que estes empleando.

Por otro lado desconozco si MS SQL permite usar otros tipos que cadenas en las funciones y de ser así, tal vez tengas que recurrir a algún moldeo. En el caso de Firebird no plantea ninguna dificultad.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 10-12-2013
amerika111 amerika111 is offline
Miembro
 
Registrado: nov 2009
Posts: 168
Poder: 0
amerika111 cantidad desconocida en este momento
Gracias por la ayuda, lo voy a realizar de esa manera..
tambien habia encontrado esta forma de hacerlo.

Código SQL [-]
SELECT APELLIDO + space(30-len(APELLIDO))+NOMBRE AS APELLIDONOMBRE
FROM CLIENTES
Responder Con Cita
  #4  
Antiguo 10-12-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola amerika111, me alegra que lo solucionaras

Y con la función SPACE (que acabo de conocer ) queda mucho mas entendible.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 10-12-2013 a las 18:17:44.
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
Concatenar campos de una tabla en firebird daragor Lazarus, FreePascal, Kylix, etc. 3 11-06-2013 18:51:18
Como concatenar 3 campos en un edit!!! negrokau Varios 8 14-03-2012 00:28:55
rave report, concatenar campos fjolivares Impresión 1 07-10-2004 13:08:59
Concatenar campos varchar en triggers Iceman Firebird e Interbase 1 14-06-2004 21:24:26
Concatenar campos mosorio Firebird e Interbase 6 06-04-2004 17:37:29


La franja horaria es GMT +2. Ahora son las 17:13:00.


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