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 07-11-2005
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Question Una Ayudita con un campo largo

Hola Foro:

Tengo un problemilla, necesito seleccionar el campo nombre de la tabla de clientes, pero este campo debe tener un largo fijo de 30 caracteres.
Entonces hago:

select cast(customer_name as char(30)) from customer

El problema es que en la tabla, el campo está definido como Varchar(50) y cuando el nobre tiene más de 30 caracteres me larga un error.

Estoy Usando Interbase 1.0 open Sourse.

Desde ya agradesco vuestra atención.

Saludos.

Carmelo Ganduglia.
Responder Con Cita
  #2  
Antiguo 07-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Traete el campo con 50 caracteres sin hacer el cast.

Doble clic a tu consulta, add all fields, y despues al campo Cliente le pones DisplayWidth a 30 en el inspector de objetos, si quieres usar MaxLength, también puedes limitarlo.

Ya sabes, a problemas dificiles, soluciones fáciles .

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 07-11-2005
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Aclarando

Perdón, creo que hice muy confuso el planteo.

En concreto ¿cómo puedo hacer para mostrar los 3 primeros caracteres de un campo?

select 'PEPE' from master
muestra
'pepe'
y quiero ver
'pep'

Gracias
Responder Con Cita
  #4  
Antiguo 07-11-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
No se si firebird tenga las mismas UDF que interbase, si es así, agrega la UDF SubStr a tu base de datos.

Una vez agregada, puedes usarla de esta forma:

Código SQL [-]
select substr(Nombre, 1, 30) Nombre30 from Master


Saludos...
Responder Con Cita
  #5  
Antiguo 07-11-2005
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Graciar pero...

Gracias, pero Interbase no tiene la función substr()
Responder Con Cita
  #6  
Antiguo 07-11-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Cita:
Empezado por Carmelo Cash
Gracias, pero Interbase no tiene la función substr()
Integrada no, pero viene como parte de una UDF (User Defined Function), la cual tienes que agregar a tu base de datos.

Lee en la ayuda de Interbase todo lo referente a las UDF.
Responder Con Cita
  #7  
Antiguo 07-11-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Carmelo Cash
Estoy Usando Interbase 1.0 open Sourse.
¿Será Interbase 6.0 o Firebird 1.0 ?
Responder Con Cita
  #8  
Antiguo 08-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Despues de 7 mensajes, la pregunta creo que es ¿Qué pretendes hacer?

La verdad no encuentro el sentido de traer 3 letras nada más del servidor; si dices lo que pretendes, quizás haya otra forma más fácil.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #9  
Antiguo 10-11-2005
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Gacias

Listo, se pudo resolver utilizando la función substr('pepe',1,3)

Gracias por su ayuda
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 20:26:16.


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