Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

saber si es numero o no en PL/SQL

Estas en el tema de saber si es numero o no en PL/SQL en el foro de Oracle en Foros del Web. Hola, en esta web he encontrado este enlace : http://www.forosdelweb.com/f99/saber-si-numero-no-868277/ ¿saben Uds cómo saber si el valor de una columna es un número o no? ...
  #1 (permalink)  
Antiguo 16/12/2010, 02:34
 
Fecha de Ingreso: diciembre-2010
Mensajes: 4
Antigüedad: 13 años, 11 meses
Puntos: 1
saber si es numero o no en PL/SQL

Hola,

en esta web he encontrado este enlace :
http://www.forosdelweb.com/f99/saber-si-numero-no-868277/

¿saben Uds cómo saber si el valor de una columna es un número o no?

Gracias!
  #2 (permalink)  
Antiguo 16/12/2010, 02:58
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Respuesta: saber si es numero o no en PL/SQL

Multiplica ese valor por 1 y si no te retorna error, es numero.
  #3 (permalink)  
Antiguo 16/12/2010, 03:09
 
Fecha de Ingreso: diciembre-2010
Mensajes: 4
Antigüedad: 13 años, 11 meses
Puntos: 1
Respuesta: saber si es numero o no en PL/SQL

Gracias por tu respuesta, pero

select to_number(codigo) * 1 from horarios no funciona
select codigo * 1 from horarios no funciona

Alguna idea más?
  #4 (permalink)  
Antiguo 16/12/2010, 06:56
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Respuesta: saber si es numero o no en PL/SQL

function ES_NUMBER(str in varchar2) return BOOLEAN IS
N number;
begin
N := TO_NUMBER(str);
return (TRUE);
Exception WHEN OTHERS then
return (FALSE);
end;
  #5 (permalink)  
Antiguo 16/12/2010, 07:16
 
Fecha de Ingreso: diciembre-2010
Mensajes: 4
Antigüedad: 13 años, 11 meses
Puntos: 1
Respuesta: saber si es numero o no en PL/SQL

Hola

gracias de nuevo por tu respuesta. He encontrado una solucion a traves de SQL (me es más práctica que una FUNCTION)

select CODIGO, CASE WHEN LENGTH(TRIM(TRANSLATE(CODIGO, ' +-.0123456789', ' '))) IS NULL THEN 'NUMERO' ELSE 'TEXTO' END from horarios

Att,

jm

Etiquetas: numero
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:13.