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 27-08-2007
NSL94 NSL94 is offline
Miembro
 
Registrado: abr 2007
Posts: 43
Poder: 0
NSL94 Va por buen camino
Arrow Comparar 2 cadenas con diferentes formatos.

Buenos dias.
Quisiera saber si a alguien se le ocure como comparar 2 cadenas con formatos variables es decir, ilustrando con un ejemplo:

Cadena1 = LNNNNNNN (L=LETRA N=NUMERO)
Quiero que la condicion se cumpla cuando la Cadena 2 sea = a
LNNNNNNN es decir Cadena1=Cadena2 pero TAMBIEN:
L-NNNNNNN
L NNNNNNN (Con un espacio)

Programando en delphi por ej compararia el primer caracter de la cadena y luego los 7 ultimos para "ignorar" de esta forma el espacio guion o ausencia de ambos. Pero no tengo ni idea de como traducir esto en SQL.
Gracias a todos.
Y fuerza a los que vuelven de vacaciones
Responder Con Cita
  #2  
Antiguo 27-08-2007
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
Comparar Cadenas en SQL

Hola:

Por lo que entendi de tu explicacion pudieras utilizar like'L%'

Saludos

Luis Garcia
Responder Con Cita
  #3  
Antiguo 30-08-2007
NSL94 NSL94 is offline
Miembro
 
Registrado: abr 2007
Posts: 43
Poder: 0
NSL94 Va por buen camino
No me sirve el Like'L%'
Porque entonces me encierro en caracter 'L' y lo que sea...
Que que quiero yo es comparar 2 cadenas y que me cumpla el requesito cuando la primera letra es identica (pudiendose ser cualkier letra, y no una definida) y los 7 ultimos caracteres sean 7numeros identicos entre ellos.

por lo cual cumpliria los requisitos en estos diferentes casos:
'A0000000' comparado con 'A-0000000'
'A 0000000' comparado por 'A 0000000'

y no lo cumpiria en estos:
'A0000000' comparado con 'B0000000'
'A0000000' comparado con 'A-0000001'
Responder Con Cita
  #4  
Antiguo 11-09-2007
Radov3r Radov3r is offline
Registrado
 
Registrado: jul 2007
Posts: 8
Poder: 0
Radov3r Va por buen camino
¿Y por qué no transformas a un formato siempre igual las cadenas que te introducen? Así te evitas ese paso.
Responder Con Cita
  #5  
Antiguo 17-09-2007
NSL94 NSL94 is offline
Miembro
 
Registrado: abr 2007
Posts: 43
Poder: 0
NSL94 Va por buen camino
Pues porque la BD esta echa ya... y no tengo ni voz ni voto ^^
Con lo facil que seria formatear a la entrada... Estamos 100% de acuerdo.
Entonces nadie sabria como comparar por ejemplo
de 2 cadenas en SQL que
1-El primer caracter sea igual
2-que los 7 ultimos tmb lo sean?
para que se de el caso
ANNNNNNN = ANNNNNNN
ANNNNNNN = A NNNNNNN
ANNNNNNN = A-NNNNNNN
Responder Con Cita
  #6  
Antiguo 21-09-2007
hach hach is offline
Miembro
 
Registrado: mar 2007
Ubicación: Bariloche, Argentina
Posts: 44
Poder: 0
hach Va por buen camino
si usas firebird, con UDFs

Hola
si usas firebird (y supongo que interbase tambien) puedes compilar la UDF

substr

* Functional description:
* substr(s,m,n) returns the substring
* of s which starts at position m and
* ending at position n.
* Note: This function is NOT limited to
* receiving and returning only 255 characters,
* rather, it can use as long as 32767
* characters which is the limit on an
* INTERBASE character string.
* Change by Claudio Valderrama: when n>length(s),
* the result will be the original string instead
* of NULL as it was originally designed.


y con esta podrias hacerlo dentro de una consulta sql

Saludos

Pablo
Responder Con Cita
  #7  
Antiguo 21-09-2007
hach hach is offline
Miembro
 
Registrado: mar 2007
Ubicación: Bariloche, Argentina
Posts: 44
Poder: 0
hach Va por buen camino
en firebird 2 ...

En firebir 2 no es necesario compilar la UDF substr
ya viene substring
no se en firebird 1.5....


SUBSTRING('ANNNNNNN' from 1 for 1) retorna A
SUBSTRING('A NNNNNNN' from 3 for 7) retorna NNNNNNN

con esto deberias poder realizar tu consulta

Saludos
Pablo
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
Comparar dos cadenas de texto creus Varios 5 06-03-2009 00:22:13
Comparar cadenas de un txt francisco260184 Varios 1 10-04-2007 23:54:22
DBMemo con diferentes formatos Colgueit OOP 3 29-01-2007 21:56:23
Unir base de datos en diferentes formatos rbeltran Conexión con bases de datos 1 12-01-2005 21:37:37
Unir base de datos en diferentes formatos rbeltran Conexión con bases de datos 0 16-12-2004 20:06:40


La franja horaria es GMT +2. Ahora son las 06:15:59.


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