SQL - Convertir textos en numeros

 
Vista:

Convertir textos en numeros

Publicado por danidaniel (2 intervenciones) el 20/07/2011 01:01:10
Por favor alguna sugerencia:
Tengo una tabla con un campo "OBS" de tipo varchar, aqui se ingresan textos y numeros, lo que yo deseo es hacer un Query que me convierta los valores textos en "CERO" o mejor aun que no me salgan en el resultado.
HE USADO LA FUNCION "CONVERT()" Y ME SALE ERROR...!!!!

Ejemplo:
DATOS:
xxxx
20
50
yyy
zzz
80

PLEASEEEEEEEEEEEEEEEEEEEEEEEEE...!!!!
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

Convertir textos en numeros

Publicado por leonardo_josue (1173 intervenciones) el 20/07/2011 17:14:01
Hola danidaniel;

En tu post no mencionas qué manejador de base de datos estás utilizando, por lo que puede resultar complicado darte una respuesta, pues la diferencia en sintaxis entre un motor y otro puede ser significativa, para la siguiente vez menciona este punto.

Ahora bien, el problema que tienes es ocasionado porque no puedes convertir un texto a número, por lo tanto tienes que hacer una conversión condicional. Esto quiere decir que sólo puedes aplicar la función CONVERT SI ESTÁS SEGURO DE QUE EL CAMPO SOLO CONTIENE NÚMEROS.

En SQL Server la consulta sería más o menos así:

1
2
3
select cast(datos as int) datos
from TuTabla
where isnumeric(datos) = 1


o si quieres conservar todos los registros

1
2
select case when isnumeric(datos) = 1 then cast(datos as int) else 0 end datos
from TuTabla


Si observas utilizo una sentencia case donde pregunto con la función ISNUMERIC si el campo tiene solo numeros, si es así entonces puedo hacer el CAST o CONVERT, como lo desees. En caso de que el campo no sea numérico entonces asigno un 0 directamente.

Lamentablemente la función ISNUMERIC no existe en todos los DBMS, sin embargo puedes aplicar alguna validación para simular esta función, como no mencionas que BD utilizas te dejo algunas ligas para Mysql, Oracle

http://www.dbasupport.com/forums/showthread.php?t=20704

http://forums.mysql.com/read.php?60,1907,22223#msg-22223

Si utilizas otra BD es cuestión de que busques alguna equivalencia.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Convertir textos en numeros

Publicado por danidaniel (2 intervenciones) el 20/07/2011 18:22:18
GENIAL..!!!!
suficiente con tu aporte, Muchas gracias Leo...!

DD.
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

Convertir textos en numeros

Publicado por alejandro (1 intervención) el 03/12/2018 19:42:19
me sirvió a mi también una columna varchar (solo1232) solo requeria los números el max mas 1, muy bien
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

Convertir textos en numeros

Publicado por JIMMY ROMERO (1 intervención) el 27/04/2021 17:05:56
Me ayudo mucho gracias
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

Convertir textos en numeros

Publicado por andrea ortega ramirez (1 intervención) el 31/08/2011 02:57:19
la maestra de tecnologia puso a sus alumnos de 2º b a escribir algunos textos con numeros para ver quien tenia habilidad de decifrarlo mas rapido y quien lo decifrara mas rapido tenia diez y algunos ya no alcanzaron el diez porque la maestra dio cinco minutos y algunos tuvieron ocho porque no se apuraron a decifrarlo por que no todos tienen la misma habilidad que los demas tenemos pero otros compañeros tienen habilidad para otras cosas unos juegan damas chinas ajedrez corren rapido escriben rapido algunos son inteligentes mas que otros unos compañeros aveces tienen que ayudarnos en unas materias o problemas que no entedenmos y ya entre la ayuda de todos podemos solucioner todas nuestras dudas y se mejores a superarnos y entender mejor para obtener una mejor calificacion por ejemplo los nuevos no saben todo lo que nosotros sabemos y aveces nosotros les tenemos que decir lo que losmaestros nos explacan entre otras muchas cosas mas .
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