方法: 1. length() 関数を使用してクエリします。単位はバイトです。中国語の文字は 3 バイトです。配列と文字は 1 バイトです。構文は「length (character)」です。2. "char_length()" 関数クエリを使用します。単位は文字、漢字、数字、文字はすべて 1 文字単位です。
このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
mysql で文字長をクエリする方法
まず、Mysql の length() と char_length() の違いを理解します。
1), length(): mysql の length() 関数は、文字列の長さを取得するために使用される組み込み関数です。
2), char_length(): mysql 組み込み関数の文字列の長さをチェックするもう 1 つの関数は char_length() です。
3) これら 2 つの関数の違いは次のとおりです:
a), length(): 単位はバイトです。utf8 エンコードでは、1 つの中国語文字は 3 バイト、1 つの数字または文字は 1 バイトです。 . . gbk エンコードでは、1 つの漢字は 2 バイト、1 つの数字または文字は 1 バイトになります。
b), char_length(): 単位は文字です。漢字、数字、文字のいずれであっても、文字とみなされます。
MySQL 5.0.3 バージョン以降の varchar 型の変更点を詳しく説明します。
1)、MySQL 5.0.3 より前: 0 ~ 255 バイト、例: varchar(20) の 20 はバイト数を表します。utf-8 エンコーディングが保存されている場合、中国語の文字は 6 文字のみです。保管される。 varchar(n)、n はバイト数を表します。
MySQL 5.0.3 以降: 0 ~ 65535 バイト、varchar(20) は文字数を表し、エンコーディングに関係なく、20 個の中国語文字を格納できます。ただし、最大 65532 バイトを占めます (長さを格納するのに 2 バイト、255 バイト未満の場合は、長さを格納するのに 1 バイトを使用します)。ここで、varchar(n) の n は、varchar ( など) の文字数を表します。英語・中国語問わず200枚収納可能。その他の具体的な違いについては、オンラインで確認できます。
4. length()char_length() を使用して、中国語の文字が含まれているかどうかを確認できます。
utf-8 エンコードでフィールドが完全な英語であることを確認するには、length (field) = char_length (field) を使用できます。
推奨学習: mysql ビデオ チュートリアル
以上がmysqlで文字長をクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。