我有一个包含这些行的MySQL表:
¡Hola!
¿Qué tal?
Fine
Hello
Adiós
How are you?
如何对它们进行排序以获得此结果:
Adiós
Fine
Hello
¡Hola!
How are you?
¿Qué tal?
我希望MySQL忽略非字母数字字符 可以快速完成此操作而无需使用简化值的新列?
答案 0 :(得分:0)
不幸的是,在MySQL中这样做是一个臭名昭着的痛苦。
请参阅Can MySQL replace multiple characters?
试试这个:
ORDER BY replace(replace(phrase,'¿',''),'¡','')
从短语中删除西班牙语前缀标点符号。一个人希望MySQL有一个REGEXP_REPLACE函数。
至于性能,你应该没关系ORDER BY函数,除非你有数以万计的短语。几十个,没问题。