Ver Mensaje Individual
  #9 (permalink)  
Antiguo 13/05/2013, 15:53
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Agrupar segun una REGXP

Tal como te comenté, en primer lugar, puedes utilizar la expresión regular para encontrar las cadenas que siguen el formato que mencionas, de una v, un guión (-) y un número... a partir de esto, puedes extraer sólo la parte numérica y convertirla a número. Checa este script:

Código MySQL:
Ver original
  1. mysql> SELECT cod_cli, CAST(SUBSTRING(cod_cli, 3) AS UNSIGNED) cod_cli_numero
  2.     -> FROM clientes WHERE cod_cli REGEXP '^(v)(-)[0-9]*$';
  3. +------------+----------------+
  4. | cod_cli    | cod_cli_numero |
  5. +------------+----------------+
  6. | V-11314359 |       11314359 |
  7. | V-17299706 |       17299706 |
  8. | V-6902451  |        6902451 |
  9. | V-987990   |         987990 |
  10. | V-15713105 |       15713105 |
  11. | V-16898869 |       16898869 |
  12. | V-10814054 |       10814054 |
  13. | V-12476593 |       12476593 |
  14. +------------+----------------+
  15. 8 rows in set (0.00 sec)

Observa que la segunda columna contiene el valor de tu cadena que necesitas para agrupar... con este dato puedes seguir la lógica que te indiqué en mi primer post... observa que modifiqué un poco la REGEXP para considerar todas las longitudes de tus códigos, pero si la que tú pusiste es correcta, bueno, utilizas la tuya. haz y el intento y si tienes problemas lo comentas en el foro.

Saludos
Leo.