J

jarapeto84

Usuario (Ecuador)

Primer post: 7 feb 2013Último post: 7 feb 2013
1
Posts
0
Puntos totales
0
Comentarios
R
Rellenar de ceros Campos en Mysql después de una migración
Ciencia EducacionporAnónimo2/7/2013

Rellenar de ceros en Mysql después de una migración Siempre existe problemas el momento de migrar información entre ellos como ejemplo es que cuando se migro se tenía contemplado 10 caracteres para el numero de celular, pero al migrar existían datos con 9 o más espacios en blanco guiones etc., ya que han puesto dos números celulares, y como mi aplicativo para mostrar el celular necesita exactamente que sean 10 caracteres numéricos se presenta el problema. 1. Quitar modo seguro a Mysql para que se ejecute sin mayor problema SET SQL_SAFE_UPDATES=0; 2. Tener en cuenta que se tiene que eliminar los campos innecesarios como espacios en blanco guiones etc.; ejemplo ins_celular es mi campo, y la tabla reg_instructor SELECT ins_codigo, trim(REPLACE(ins_celular, ' ', '')) as NUM1 from reg_instructor; Si se tenía el número de celular ‘999 9999999* ’ se tendrá que tener ‘9999999999*’ el asterisco es una carácter inservible que se dio en la migración como pudo ser separador de números etc. 3. Ahora se debe recuperar los 10 dígitos que cumplan con el requerimiento SELECT ins_codigo, LEFT(ins_celular,10) as a from reg_instructor; Esto se realizará con respecto a la consulta anterior mostrando algo como ‘9999999999’ 4. Y en el caso de que no existan los 10 dígitos se tendrá que rellenar con un cero más a la izquierda usando LPAD select ins_codigo, LPAD(trim(LEFT(ins_celular,10)),10, '0')as LEFTPADDED from reg_instructor; En resumen lo que ejecute en mi prompt de MYSQL fue -- limpio los espacios en blanco UPDATE reg_instructor SET ins_celular = trim(REPLACE(ins_celular, ' ', '')) WHERE ins_celular <> 'S/D'; -- dejo los 10 primeros caracteres del campo UPDATE reg_instructor SET ins_celular = LEFT(ins_celular,10) WHERE ins_celular <> 'S/D'; -- limpio el caracter / UPDATE reg_instructor SET ins_celular = trim(REPLACE(ins_celular, '/', '')) WHERE ins_celular <> 'S/D'; -- relleno de ceros adjuntando todo lo anterior UPDATE reg_instructor set ins_celular = LPAD(trim(LEFT(ins_celular,10)),10, '0') WHERE ins_celular <> 'S/D' AND ins_codigo > 0;

0
0
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.