Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/09/2009, 02:02
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: En busca de una función

No nos has dicho todo. ¿Utilizas signos de puntuación o algún otro signo?
Puedes hacerlo con programación, pero también puedes hacerlo desde la base. Lo primero es la seguridad, crea un campo nuevo también VARCHAR y haz lo siguiente:
con esto conviertes todos los caracteres en minúscula
UPDATE tabla set camponuevo = lower(campoantiguo);

luego haces varios replace
UPDATE tabla SET camponuevo = REPLACE(campoviejo, 'a','');
UPDATE tabla SET camponuevo = REPLACE(campoviejo, 'b','');
UPDATE tabla SET camponuevo = REPLACE(campoviejo, 'c','');
... //todas las letras del abecedario y los caracteres no numéricos que hayas usado en ese campo

También podrías hacerlo en una sola consulta de actualización...
UPDATE tabla SET camponuevo = REPLACE(REPLACE(REPLACE(campoviejo, 'a',''),'b',''),'c','')

y así con todos los caracteres, excepto los números, claro.

Finalmente, cuando todos sean números, cambias la naturaleza de ese campo a INT(11). Una vez comprobado que todo está bien, puedes eliminar el campoviejo.

Ya sé que es un poco mecánico, pero también tienes la opción de hacerlo con programación