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 03-06-2014
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 18
jafera Va por buen camino
Buscar valores con longitud 5 en una consulta

Buenas a todos.

Os explico mi inquietud, he mirado en la web de firebird y no veo solución por lo que no se si es posible realizar esta operación:

Código SQL [-]
Select * from tabla where codigo >='00.00' and codigo <= '99.99' and longitud de este campo (codigo) = 5

Porque esto?, pues porque el campo tiene una longitud de 7 caracteres varchar y puede tener unos valores como 0.00.00 o 1.21.34 y si realizo la consulta sin limitar la longitud del campo me los enseña todos y precisamente es lo que quiero evitar

Como siempre gracias de antemano.

Saludos

Josep
Responder Con Cita
  #2  
Antiguo 03-06-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.056
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
http://www.firebirdsql.org/refdocs/l...ar_length.html
Responder Con Cita
  #3  
Antiguo 03-06-2014
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 18
jafera Va por buen camino
Gracias Antonio

Esto es para FB a partir de 2.0 y yo estoy anclado en 1.5 por motivos que ahora no vienen al caso.

Pero mirando estas funciones me devolveran la longitud de una cadena 'xxxx' pero no me filtrará los valores de la tabla cuya longitud sea 5, o por lo menos lo interpreto así.

No se igual estoy equivocado.

Saludos

Josep
Responder Con Cita
  #4  
Antiguo 03-06-2014
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 Josep.

Para la versión 1.5 podrías crearte un procedimiento que te devuelva la longitud de la cadena:
Código SQL [-]
SET TERM ^;

CREATE PROCEDURE LENSTR (PARAMSTR VARCHAR(255))
RETURNS (LEN INTEGER) AS
DECLARE VARIABLE AUX VARCHAR(255);
BEGIN
  AUX = '';
  LEN = 0;
  WHILE (NOT PARAMSTR LIKE AUX) DO
  BEGIN
    AUX = AUX || '_';
    LEN = LEN + 1;
  END
  SUSPEND;
END^

SET TERM ;^

Ejemplo de uso:
Código SQL [-]
SELECT *
FROM TABLA
WHERE (SELECT LEN FROM LENSTR(CAMPO)) = 5

Saludos
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 03-06-2014 a las 23:58:22.
Responder Con Cita
  #5  
Antiguo 03-06-2014
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 18
jafera Va por buen camino
Thumbs up

Buenas noches.

Ante todo Daniel (Ecfisa), MUUUUUCHAAAAASSSS GRACIAS.

Si estuviera en tu pais correria a felicitarte y abrazarte, has dado de lleno en la solución del problema.
Este Stored Procedure realiza exactamente lo que quiero, y la consulta de lanzamiento la he modificado un poco para ajustarla a mis necesidades y como colofón da el resultado esperado.

Repito, muchisimas gracias pues sois geniales, nos abris los ojos que a veces los tenemos empañados y no vemos más allá de las narices.

Saludos

Josep
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
Buscar valores mas cercanos Toni Firebird e Interbase 12 28-10-2010 18:52:48
Buscar Valores en una Grillla peripla Varios 4 23-03-2009 19:44:31
Buscar en una consulta Vlady Conexión con bases de datos 6 16-05-2008 19:18:27
consulta exportacion archivo txt de longitud fija ajmr81 Varios 1 13-03-2008 21:14:07
Longitud máxima para una consulta SQL moesis Conexión con bases de datos 3 17-08-2004 23:54:43


La franja horaria es GMT +2. Ahora son las 12:00:39.


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