ホームページ >データベース >mysql チュートリアル >MySQL で文字列の長さによってデータをソートするにはどうすればよいですか?

MySQL で文字列の長さによってデータをソートするにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-02 13:32:30205ブラウズ

How do you sort data by string length in MySQL?

MySQL での文字列長によるデータの選択

初期クエリ試行:

並べ替えを試みる次のクエリを考えてみましょう。文字列長によるデータ:

<code class="sql">SELECT * FROM table ORDER BY string_length(column);</code>

ただし、このクエリではエラーが発生します。 MySQL には string_length 関数が存在しますが、データの並べ替えには使用できません。

解決策: CHAR_LENGTH() を使用する

文字列の長さでデータを並べ替えるには、次のようにします。 CHAR_LENGTH() 関数を使用する必要があります。 string_length とは異なり、CHAR_LENGTH() はバイト数ではなく、文字列内の文字数を返します。

更新されたクエリ:

<code class="sql">SELECT * FROM table ORDER BY CHAR_LENGTH(column);</code>

の違いLENGTH() と CHAR_LENGTH()

マルチバイト文字セット (UTF-8 など) の場合、LENGTH() は文字列内のバイト数を返し、CHAR_LENGTH() は文字列内のバイト数を返します。文字数。したがって、マルチバイト文字セットの場合、正確な文字列長を計算するには CHAR_LENGTH() を使用する必要があります。

以上がMySQL で文字列の長さによってデータをソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。