sql >> データベース >  >> RDS >> Mysql

ユニコード文字を含む列でのMysqlの順序

    Unicodeコードポイントを使用して並べ替えるには、おそらく utf8_binを使用する必要があります 照合。

    正確には、 _bin 接尾辞は、各文字のバイナリ表現で並べ替えることを示します 。

    オーバーライド 注文時のデフォルトの照合では、ORDERを使用しますBY ... COLLATE

    ドキュメントを言い換えるには:

    SELECT k
    FROM t1
    ORDER BY k COLLATE utf8_bin;
    

    もし テキスト列はしません utf8エンコーディングを使用するには、 CONVERT<を実行する必要があります。 / code> それ:

    SELECT k
    FROM t1
    ORDER BY CONVERT(k USING utf8) COLLATE utf8_bin;
    

    utf8を使用したことに注意してください これが最も一般的なUnicodeエンコーディングであるため、ここでの例として。ただし、MySQLサーバーはおそらく ucs2などの他のUnicodeエンコーディングをサポートしています。 ("UTF-16")。




    1. PHP / MySQLデータベースクエリはどのように正確に機能しますか?

    2. postgresqlでのROLLBACKイベントトリガー

    3. (純粋な)PHP/MySQLで類似の画像を検索する

    4. PostgreSQL 13:制限…タイ付き