MySQL 中 LENGTH() 和 CHAR_LENGTH()用法
在 MySQL 中,LENGTH() 和 CHAR_LENGTH() 函数都用于获取字符串的长度,但它们有一些重要的区别。
-
LENGTH()函数返回字符串的字节数(即存储在数据库中的实际字节数),而不是字符数。这意味着对于使用多字节字符集(如 UTF-8)存储的数据,LENGTH()函数返回的值可能会大于实际字符数。例如:
SELECT LENGTH('牛客3号♂') AS length_result; -- 返回 13 -
CHAR_LENGTH()函数返回字符串的字符数(即字符串中包含的字符数量),而不是字节数。它会计算字符串中的字符数,一个多字节字符被视为一个字符。例如:
SELECT CHAR_LENGTH('牛客3号♂') AS char_length_result; -- 返回 5
因此,在处理包含多字节字符的字符串时,通常更适合使用 CHAR_LENGTH() 函数来获取字符串的字符数。而如果需要考虑字符串的字节数,可以使用 LENGTH() 函数。

浙公网安备 33010602011771号