
21/09/2009, 02:02
|
Colaborador | | Fecha de Ingreso: marzo-2008 Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 17 años 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 |