文字列長の選択に最適な MySQL 関数は CHAR_LENGTH() と LENGTH() のどちらですか?

Mary-Kate Olsen
リリース: 2024-10-31 11:23:29
オリジナル
926 人が閲覧しました

Which MySQL Function is Best for String Length Selection: CHAR_LENGTH() or LENGTH()?

MySQL 文字列長の選択

MySQL では文字列の長さに基づいてデータを選択することができます。 1 つの方法は、

<code class="sql">SELECT * FROM table ORDER BY string_length(column);</code>
ログイン後にコピー

に示すように、string_length() 関数を使用することです。ただし、このタスクには、より効率的な関数 CHAR_LENGTH() があります。この関数は、文字の長さ (シングルバイトかマルチバイトなど) に関係なく、文字列内の文字数を返します。

LENGTH() 関数を使用して、文字列が占めるバイト数を決定することもできます。文字列。ただし、マルチバイト文字セットの場合は、バイト数ではなく文字数を返す CHAR_LENGTH() が推奨されるオプションです。

LENGTH() と CHAR_LENGTH() の違いを説明するために、次の例を考えてみましょう。 :

SELECT LENGTH('abc'), CHAR_LENGTH('abc') FROM dual;
ログイン後にコピー

UTF-8 文字エンコーディングの場合、結果は次のようになります:

LENGTH: 3
CHAR_LENGTH: 3
ログイン後にコピー

ただし、文字エンコーディングが UTF-16 に変更された場合、結果は次のようになります:

LENGTH: 6
CHAR_LENGTH: 3
ログイン後にコピー

これは、UTF-16 では各文字のエンコードに 2 バイトが使用されるのに対し、UTF-8 では可変長エンコード (ASCII 文字の場合は 1 バイト、Unicode 文字の場合は 2 バイト) が使用されるためです。したがって、CHAR_LENGTH() は、MySQL の文字列長について、より一貫性があり、文字を認識したメトリクスを提供します。

以上が文字列長の選択に最適な MySQL 関数は CHAR_LENGTH() と LENGTH() のどちらですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!