Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/10/2010, 09:07
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Ordenar resultados mysql por orden alfabetico

Buenos días rafamadrile:

puedes hacerlo más o menos así:

select * from ordenar_temp order by replace(campo, '¡', '');

como mencionas qué puedes tener varios caracteres especiales te recomendaría que la creación de una función que te elimine todos los caracteres no alfanuméricos, de tal manera que tu consulta quede más o menos asi

Código SQL:
Ver original
  1. CREATE FUNCTION `pruebas`.`fn_elimina_caracteres_especiales`
  2. (CAMPO CHAR(50))
  3. RETURNS CHAR(50)    
  4. BEGIN
  5. DECLARE TEMP VARCHAR(50);
  6. SET TEMP = REPLACE(CAMPO, '¿', '');
  7. SET TEMP = REPLACE(TEMP,  '?', '');
  8. SET TEMP = REPLACE(TEMP,  '¡', '');
  9. SET TEMP = REPLACE(TEMP,  '!', '');
  10. --Continuar con todos los caracteres especiales
  11. RETURN TEMP;
  12. END
  13.  
  14. SELECT * FROM ordenar_temp ORDER BY fn_elimina_caracteres_especiales(campo);
Saludos
Leo.