1

これらの行を持つMySQLテーブルがあります。

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

これらを並べ替えてこの結果を取得するにはどうすればよいですか。

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

MySQLに英数字以外の文字を無視させたい。
単純化された値で新しい列を作成せずに、これを高速に実行することは可能ですか?

4

1 に答える 1

0

残念ながら、MySQLでこれを行うのは首の悪名高い痛みです。

MySQLは複数の文字を置き換えることができますか?を参照してください。

これを試して:

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

ソート時にフレーズからスペイン語のプレフィックス句読点を削除します。MySQLにREGEXP_REPLACE関数があればいいのにと思います。

パフォーマンスに関しては、無数のフレーズがない限り、ORDERBY関数で問題ないはずです。数十、問題ありません。

于 2012-08-27T12:18:59.793 に答える