Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > Oracle

Respuesta
 
Herramientas Desplegado
Antiguo 02-ene-2008, 15:41   #1 (permalink)
FaiTCRaH está en el buen camino
 
Fecha de Ingreso: enero-2004
Mensajes: 52
Eliminar registros no numericos

Hola

El problema que tengo es el siguiente.. tengo una tabla con un campo alfanumérico, y dicho campo necesito compararlo con otro campo que es totalmente numérico. Esto sería bastante fácil con un to_number o un to_char. El problema es que hay registros alphanumericos en la tabla origen... o sea, algo así como '44324A12'. Lo que necesito es eliminar o bien, identificar este tipo de registros y eliminarlos o bien realizarles un tratamiento distinto.

Desde ya, muchas gracias


Ah... otra cosa, es posible q dentro de esos mismos caracteres vengan otros, como el ~, $, # u otros
__________________
I can see the bodies on the wall... all the nightmare dreams i can't recall come...

Última edición por FaiTCRaH; 02-ene-2008 a las 15:49.
FaiTCRaH está desconectado   Responder Citando
Antiguo 02-ene-2008, 16:52   #2 (permalink)
matanga ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2007
Ubicación: Barcelona, España
Mensajes: 519
Re: Eliminar registros no numericos

Hola,

Este problema ha sido motivo de varios post en varios foros, y todos han llegado mas o menos a la misma conclusion, hay que wrapear la funcion TO_NUMBER dentro de una funcion desarrollada por nosotros, el problema es siempre el mismo, la funcion TO_NUMBER no maneja excepciones.

Código:
CREATE OR REPLACE FUNCTION my_to_number( arg IN VARCHAR2 )
  RETURN INTEGER
IS
  var NUMBER;
  not_a_number EXCEPTION;
  PRAGMA EXCEPTION_INIT( not_a_number, -6502 );
BEGIN
  var := to_number( arg );
  RETURN var;
EXCEPTION
  WHEN not_a_number THEN
    RETURN null;
END;
De esta manera podremos hacer consultas como la siguiente en forma segura.

Código:
SELECT *
  FROM testtable
 WHERE code = 'H'
   AND my_to_numeric( value ) > 1000
Fuente: http://www.ddbcinc.com/askDDBC/topic.asp?TOPIC_ID=722

Saludos
matanga está desconectado   Responder Citando
Antiguo 03-ene-2008, 15:21   #3 (permalink)
kikolice ha deshabilitado el karma
 
Avatar de kikolice
 
Fecha de Ingreso: marzo-2004
Mensajes: 1.111
Re: Eliminar registros no numericos

o tambien identificas si es numerico o no, aqui hablo como hacerlo

http://www.blogzote.com/2007/01/15/i...ric-en-oracle/
__________________
Blogzote.com :-) Mi blog
kikolice está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 12:24.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93