Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-07-2004
cartmanrules cartmanrules is offline
Miembro
 
Registrado: may 2004
Posts: 16
Poder: 0
cartmanrules Va por buen camino
Unhappy Quitar espacios de campos CHAR

Hola!

Tengo el siguiente problema:

Todas las tablas que componen una aplicación tienen sus campos alfanuméricos declarados como CHAR(n). Al principio no hice mucho caso de que existe un VARCHAR(n) y ahora me arrepiento . El caso es que necesito imprimir (con Quick Reports) un informe que tenga el nombre y apellidos del cliente unidos, pero al concatenar los dos campos siempre rellena el nombre con espacios en blanco, y Interbase (v 6.5) no tiene ninguna función similar al TRIM. Lo ideal sería lo siguiente:

select trim(cli_nombre)||' '||trim(cli_apellidos) as cli_nombrecompleto

Pero no puedorrr... ¿Alguien se ha topado con este problema? ¿Una pista para la solución?

Gracias!
Responder Con Cita
  #2  
Antiguo 21-07-2004
Avatar de ruina
ruina ruina is offline
Miembro
 
Registrado: jun 2004
Posts: 196
Poder: 20
ruina Va por buen camino
en realidad si que tienes trim, creo que es LRTRIM (Left-Right trim), pero me parece que está definida en la freeudf.dll
Responder Con Cita
  #3  
Antiguo 22-07-2004
Avatar de ACK
ACK ACK is offline
Miembro
 
Registrado: jun 2003
Ubicación: Castellón
Posts: 27
Poder: 0
ACK Va por buen camino
Una solución, sin pasar por tener que instalar alguna libreria de funciones, sería borrar los campos que tienes definidos como char(n) y crearlos de nuevo como varchar(n).

La otra solución es buscar una librería de udf's que contenga alguna función que pueda hacer lo que tu necesitas.

Yo utilizo la librería rfunc. La puedes encontrar aquí. En ella están las funciones ltrim, rtrim y trim, así como un montón de funciones para trabajar con cadenas, números, nulos, fechas, blobs, etc.

Espero haberte ayudado.

Saludos.
Responder Con Cita
  #4  
Antiguo 22-07-2004
Avatar de Rufus
Rufus Rufus is offline
Miembro
 
Registrado: may 2004
Ubicación: Canarias
Posts: 193
Poder: 20
Rufus Va por buen camino
Interbase sí incorpora funciones para eso.

En la librería estándar que viene, la ib_udf.dll tienes las siguientes funciones:

  • LTRIM(): Elimina los caracteres en blanco de la izquierda.
  • RTRIM(): Elimina los caracteres en blanco de la derecha.
Aunque yo lo que haria seria o cambiar el tipo del campo a VARCHAR() o crear un campo VARCHAR() nuevo y pasar los datos.
__________________
Milo
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


La franja horaria es GMT +2. Ahora son las 11:34:42.


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