AYUDA URGENTE... Minimos y Maximos
Publicado por Antonio (1271 intervenciones) el 30/09/2005 20:54:43
hola todos:
Nuestro buen amigo Julio me paso este codigo:
select *
from tabla
where format(campo_string1,'999999999999999999999999999999') >= format(:variable_string,'9999999999999999999999') and format(campo_string2,'9999999999999999999999999999999999') <= format(:variable_string,'9999999999999999999999');
para poder comparar numero largos de más de 18 digitos, al inicio funciona bien, pero cuando guardo datos numericos como string menores a 10 digitos no funciona.
por ejemplo
campo1 campo2
1234567890258369741 1234567890258369900
7415885858 7415886000
ahora bien, el usuario ingresa el folio inicial 1234567890258369742 y folio final 1234567890258369750, estos folios son intermedios de los folios 1234567890258369741 y 1234567890258369900, cuando hago la comparación para determinar si estos folios intermedios existen, siempre me devuelve el registro de los folios 7415885858 y 7415886000 lo cual es mentira porque los folios intermedios deben estar dentro del rango de los folios de 1234567890258369741 y 1234567890258369900.
Uso PB 7.0, como bien saben, PB 7.0 no soporta numeros de mas de 15 digitos de longitud.
Necesito su ayuda urgentemente para poder solucionarlo, cualquier idea, aportacion o sugerencia es bienvenida.
Gracias
Nuestro buen amigo Julio me paso este codigo:
select *
from tabla
where format(campo_string1,'999999999999999999999999999999') >= format(:variable_string,'9999999999999999999999') and format(campo_string2,'9999999999999999999999999999999999') <= format(:variable_string,'9999999999999999999999');
para poder comparar numero largos de más de 18 digitos, al inicio funciona bien, pero cuando guardo datos numericos como string menores a 10 digitos no funciona.
por ejemplo
campo1 campo2
1234567890258369741 1234567890258369900
7415885858 7415886000
ahora bien, el usuario ingresa el folio inicial 1234567890258369742 y folio final 1234567890258369750, estos folios son intermedios de los folios 1234567890258369741 y 1234567890258369900, cuando hago la comparación para determinar si estos folios intermedios existen, siempre me devuelve el registro de los folios 7415885858 y 7415886000 lo cual es mentira porque los folios intermedios deben estar dentro del rango de los folios de 1234567890258369741 y 1234567890258369900.
Uso PB 7.0, como bien saben, PB 7.0 no soporta numeros de mas de 15 digitos de longitud.
Necesito su ayuda urgentemente para poder solucionarlo, cualquier idea, aportacion o sugerencia es bienvenida.
Gracias
Valora esta pregunta
0