MySQL以符号作为首字母排序

时间:2012-08-27 11:54:16

标签: mysql sorting

我有一个包含这些行的MySQL表:

¡Hola!
¿Qué tal?
Fine
Hello
Adiós
How are you?

如何对它们进行排序以获得此结果:

Adiós
Fine
Hello
¡Hola!
How are you?
¿Qué tal?

我希望MySQL忽略非字母数字字符 可以快速完成此操作而无需使用简化值的新列?

1 个答案:

答案 0 :(得分:0)

不幸的是,在MySQL中这样做是一个臭名昭着的痛苦。

请参阅Can MySQL replace multiple characters?

试试这个:

ORDER BY replace(replace(phrase,'¿',''),'¡','')

从短语中删除西班牙语前缀标点符号。一个人希望MySQL有一个REGEXP_REPLACE函数。

至于性能,你应该没关系ORDER BY函数,除非你有数以万计的短语。几十个,没问题。