長さを見つけるための Mysql の関数は length() 関数と char_length() 関数です; length() 関数は文字列の長さをバイト単位で返すことができ、char_length() 関数は長さを返すことができます文字列の文字数単位での文字列の長さ。
MySQL の char_length 関数と length 関数はどちらも文字列の長さを返すことができます
mysql> select length('MySQL'), char_length('MySQL'); +-----------------+----------------------+ | length('MySQL') | char_length('MySQL') | +-----------------+----------------------+ | 5 | 5 | +-----------------+----------------------+ 1 row in set (0.01 sec)
2 つの関数関数:
LENGTH() 文字列の長さをバイト単位で返します。
CHAR_LENGTH() 文字列の長さを文字数で返します。
上記の例から判断すると、「MySQL」には合計 5 文字が含まれており、各文字は 1 バイトを占める必要があります。
しかし、中国語は異なり、通常、中国語 1 文字は 2 ~ 3 バイトを占めます。例:
GBK 文字セット エンコーディング:
select char_length(‘中国’); // 2个字符 select length(‘中国’); // 4个字节,一个汉字2个字节 select bit_length(‘中国’); // 32位。4*8 = 32
UTF8 文字セット エンコーディング:
select char_length(‘中国’);// 2个字符 select length(‘中国’); // 6个字节,一个汉字3个字节 select bit_length(‘中国’); // 48位。6*8 = 48
summary
char_length(str )
長さの単位は文字で、マルチバイト文字も 1 文字としてカウントされます
中国語かどうかは関係ありません文字、数字、または文字 1 文字
length(str)
utf8 エンコードでは、1 つの中国語文字は 3 文字としてカウントされ、1 文字は 3 文字としてカウントされます。数字または文字は 1 文字としてカウントされます。
他のエンコードでは、1 つの中国語文字は 2 文字としてカウントされ、1 つの数字または文字は 1 文字としてカウントされます。
推奨チュートリアル: mysql ビデオ チュートリアル
以上がmysqlで長さを調べる関数は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。