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

[SOLUCIONADO] Seleccionar datos NO Numericos

Estas en el tema de Seleccionar datos NO Numericos en el foro de Mysql en Foros del Web. Buenos dias Amigos (GMT-4.30) tengo un pequeño rollo, Veran estoy depurando una data y en el COD_Cliente, me encuentro que hay datos que poseen letras ...
  #1 (permalink)  
Antiguo 25/06/2013, 09:04
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 5 meses
Puntos: 19
Seleccionar datos NO Numericos

Buenos dias Amigos (GMT-4.30) tengo un pequeño rollo,

Veran estoy depurando una data y en el COD_Cliente, me encuentro que hay datos que poseen letras (Se supone que el codigo sean solo digitos) esto pasa porque la data la e sacado de un sistema administrativo y al momento de registrar a los clientes debo de suponer que los usuarios cometieron errores de tipeo...

Bueno en mi campo Cod_Cliente tengo datos como 189r4532, me gustaria LISTAR todos los datos que en COD_CLIENTE tengan por lo menos 1 caracter NO NUMERICO....

esto se puede hacer? PUESTO Me seria mas facil depurar esa data, ahorita estoy usando el procedimiento de ORDERNAR ASC pero se me estan escapando datos como ". , -" y bueno me esta dando lata...
  #2 (permalink)  
Antiguo 25/06/2013, 11:34
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 11 meses
Puntos: 447
Respuesta: Seleccionar datos NO Numericos

Hola JuJoGuAl:

Hay muchas maneras para hacer lo que quieres... una de ellas sería con expresiones Regulares:

http://dev.mysql.com/doc/refman/5.0/es/regexp.html

Sería más o menos así:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla;
  2. +------+-------------+
  3. | id   | cod_cliente |
  4. +------+-------------+
  5. |    1 | 12345       |
  6. |    2 | 12b45       |
  7. |    3 | -1235       |
  8. |    4 | 12.45       |
  9. |    5 | algo        |
  10. +------+-------------+
  11. 5 rows in set (0.00 sec)
  12.  
  13. mysql> SELECT * FROM tabla WHERE cod_cliente NOT REGEXP '^[0-9]+$';
  14. +------+-------------+
  15. | id   | cod_cliente |
  16. +------+-------------+
  17. |    2 | 12b45       |
  18. |    3 | -1235       |
  19. |    4 | 12.45       |
  20. |    5 | algo        |
  21. +------+-------------+
  22. 4 rows in set (0.00 sec)


Saludos
Leo.
  #3 (permalink)  
Antiguo 28/06/2013, 09:05
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 5 meses
Puntos: 19
Respuesta: Seleccionar datos NO Numericos

Leonardo hoy probe el codigo y es EXACTAMENTE lo que busco no soy diestro aun en las RegExp, Muchas Gracias por las multiples ayudas que me has otorgado...

modifique el script para excluir ciertas cosas:

Código MySQL:
Ver original
  1. SELECT * FROM data_clientes WHERE clientes_cod NOT REGEXP '^[e|j|g]?[0-9]+$';

Gracias...

Etiquetas: campo, numericos
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 01:54.