ホームページ  >  記事  >  データベース  >  mysqlで文字長をクエリする方法

mysqlで文字長をクエリする方法

WBOY
WBOYオリジナル
2021-12-27 16:54:2430143ブラウズ

方法: 1. length() 関数を使用してクエリします。単位はバイトです。中国語の文字は 3 バイトです。配列と文字は 1 バイトです。構文は「length (character)」です。2. "char_length()" 関数クエリを使用します。単位は文字、漢字、数字、文字はすべて 1 文字単位です。

mysqlで文字長をクエリする方法

このチュートリアルの動作環境: 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で文字長をクエリする方法

mysqlで文字長をクエリする方法

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 サイトの他の関連記事を参照してください。

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