DB2 - consulta con comodines en DB2

 
Vista:

consulta con comodines en DB2

Publicado por Emerson (2 intervenciones) el 03/06/2008 03:08:12
Hola a todos!!!!

Tengo un problema con una consulta en DB2, estoy usando comodines y no puedo adecuarlos a la forma en la que quiero que se haga la consulta, estas son las instrucciones:

SELECT CASE WHEN folio LIKE '%[a..zA..Z%!#$&/()=?|{}*~ ]%'
THEN (CASE WHEN OVERLAY(folio,' ',
(POSITION('%[a..zA..Z%!#$&/()=?|{}*~ ]%',
folio_banco)),1)
LIKE '%[a..zA..Z%!#$&/()=?|{}*~ ]%' THEN '0'
ELSE OVERLAY(folio,' ',
(POSITION ('%[a..zA..Z%!#$&/()=?|{}*~ ]%', folio)) ,1)END
ELSE folio_banco END
FROM obten_folio
WHERE no_empresa = 15;

La instruccion OVERLAY sirve para buscar una cadena en otra, y si encuentra todos esos signos los sustituye por (' ') doble comilla simple, dejando limpia mi cadena de numeros de caracteres raros y letras, pero no reconoce los comodines y no estoy muy seguro de que la funcion overlay sea para DB2.

Alguna sugerencia en el codigo que les muestro??

Muchas gracias por su ayuda.

Emerson C.O.C.
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

RE:consulta con comodines en DB2

Publicado por Emerson (2 intervenciones) el 03/06/2008 03:15:11
Sorry.....

Me equivoque en el codigo de la consulta, casi no cambia, el corregido es el siguiente:

SELECT CASE WHEN folio LIKE '%[a..zA..Z%!#$&/()=?|{}*~ ]%'
THEN (CASE WHEN OVERLAY(folio,' ',
(POSITION('%[a..zA..Z%!#$&/()=?|{}*~ ]%' IN
folio_banco)),1)
LIKE '%[a..zA..Z%!#$&/()=?|{}*~ ]%' THEN '0'
ELSE OVERLAY(folio,' ',
(POSITION ('%[a..zA..Z%!#$&/()=?|{}*~ ]%' IN folio)) ,1)END
ELSE folio_banco END
FROM obten_folio
WHERE no_empresa = 15;

Gracias por su ayuda.
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