Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

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: 29
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 offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
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: 29
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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 18:40:49.


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