SQL - comparar dígitos

 
Vista:

comparar dígitos

Publicado por david_ts86 (6 intervenciones) el 27/08/2010 14:42:24
Ola,

Tengo dos tablas las cuales no puedo modificar porque son de otro usuario.

Me gustaria saber si hay alguna sentencia donde se puede comparar dos cadenas de dígitos de diferente longitud.

Por ejemplo,

Tengo una tabla con codigos de 7 dígitos y en otra tabla tengo codigos de 8 dígitos. Me gustaria saber cuales de los siete dígitos contienen los mismos números que los primeros 7 cifras de los códigos de 8 dígitos.

Espero que se entienda bien el problema en cuestión

Grácias por adelantado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

RE:comparar dígitos

Publicado por Leonardo Josué (1173 intervenciones) el 27/08/2010 15:52:53
Hola david_ts86, no mencionas qué manejador de BD estás utilizando. Dices que en tus campos manejas dígitos, por lo que es posible que sean de tipo entero o flotante, lo que puedes hacer es convertir esos campos a un tipo cadena y entonces sí comparar las cadenas. Te pongo el ejemplo de cómo sería con SQL Server, si utilizas otro manejador sería cuestión de que encuentres la sintaxis equivalente.

Supongamos que la tabla con los códigos de 7 dígitos es más o menos así:

Tabla7
Codigo
1111111
2222222
3333333
4444444
5555555

Suponga que la tabla con los códigos de 8 dígitos es más o menos así:

Tabla8
Codigo
11111111
22222222
55555555
77777777
88888888

lo que tendrías que hacer es lo siguiente

select * from Tabla7
where codigo in
(
select substring(cast(codigo as varchar), 1, 7) from Tabla8
)

De esta manera el resultado de este query sería

Codigo
1111111
2222222
5555555

Saludos y espero que te sirva de ayuda el código.
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar