这出现了很多,我可以看到它出现在 StackOverflow 上的XSLT、Ruby和Drupal但我没有看到它专门用于 SQL。
所以问题是,当标题以“The”、“A”或“An”开头时,如何正确排序?
一种方法是简单地 TRIM() 这些字符串:
ORDER BY TRIM(
LEADING 'a ' FROM
TRIM(
LEADING 'an ' FROM
TRIM(
LEADING 'the ' FROM LOWER( title )
)
)
)
不久前在 AskMeFi 上提出了这个建议(它需要那个LOWER()
功能吗?)。
我知道我也看到了某种 Case/Switch 的实现,但这对谷歌来说有点困难。
显然有许多可能的解决方案。有什么好处是 SQL 大师权衡哪些对性能有影响。