Esto aparece mucho, y puedo ver que ha aparecido en StackOverflow para XSLT, Ruby y Drupal pero no lo hago lo veo específicamente para SQL.Cómo ordenar en SQL, ignorando artículos ('el', '', '', etc.)
Entonces la pregunta es, ¿cómo se ordenan los títulos correctamente cuando comienzan con "The", "A" o "An"?
Una forma es simplemente para TRIM() esas cadenas:
ORDER BY TRIM(
LEADING 'a ' FROM
TRIM(
LEADING 'an ' FROM
TRIM(
LEADING 'the ' FROM LOWER(title)
)
)
)
que era suggested on AskMeFi hace un tiempo (¿Es necesario que la función LOWER()
?).
Sé que también he visto algún tipo de implementación Case/Switch de esto, pero es un poco difícil de encontrar para Google.
Obviamente hay varias soluciones posibles. Lo que sería bueno es que los gurús de SQL tengan en cuenta las implicaciones del rendimiento.
De acuerdo con un comentarista en una de las preguntas SO relacionadas: las reglas pueden resultar más complicadas de lo que parece. Por ejemplo, su sugerencia particular probablemente no clasifique correctamente la siguiente lista: 'The A Test',' The B Test', 'The C Test'. –