当前位置: 首页 > 面试题库 >

MySQL-length()与char_length()

轩辕鸿祯
2023-03-14
问题内容

length()和之间的主要区别是char_length()什么?

我相信这与二进制和非二进制字符串有关。是否有实际原因将字符串存储为二进制?

mysql> select length('MySQL'), char_length('MySQL');
+-----------------+----------------------+
| length('MySQL') | char_length('MySQL') |
+-----------------+----------------------+
|               5 |                    5 |
+-----------------+----------------------+
1 row in set (0.01 sec)

问题答案:

LENGTH()返回 以字节为单位字符串 长度。
CHAR_LENGTH()返回 以字符 为单位的 字符串 的长度。

这与Unicode特别相关,在Unicode中,大多数字符都编码为两个字节。或UTF-8,其中字节数有所不同。例如:

select length(_utf8 '€'), char_length(_utf8 '€')
--> 3, 1

如您所见,0xE282AC即使只有一个字符,欧元符号也占用3个字节(按UTF-8 编码)。



 类似资料:
  • length 方法 设置或返回数组中元素的数目。 语法: arrayObject.length; arrayObject.length = n; 说明: 数组的 length 属性总是比数组中定义的最后一个元素的下标大 1。对于那些具有连续元素,而且以元素 0 开始的常规数组而言,属性 length 声明了数组中的元素的个数。 数组的 length 属性在用构造函数 Array() 创建

  • length 方法 返回字符串中的字符数目。 语法: stringObject.length; 示例: var Str = "KILLHAPPY", l = Str.length; console.log( l ); 结果: >>> 9

  • 描述 (Description) Javascript数组length属性返回一个无符号的32位整数,该整数指定数组中的元素数。 语法 (Syntax) 其语法如下 - array.length 返回值 (Return Value) 返回数组的长度。 例子 (Example) 请尝试以下示例。 <html> <head> <title>JavaScript Array leng

  • 描述 (Description) 它将以逗号或空格分隔的值列表作为参数,并返回表示列表中元素数量的整数。 例子 (Example) 以下示例演示了在LESS文件中使用length函数 - <!doctype html> <head> <title>Less Length Function</title> <link rel = "stylesheet" href =

  • 描述 (Description) 此函数返回EXPR值的长度(以字符为单位),如果未指定,则返回$ _。 如果要确定相应的大小,请在数组或散列上使用标量上下文。 语法 (Syntax) 以下是此函数的简单语法 - length EXPR length 返回值 (Return Value) 此函数返回字符串的大小。 例子 (Example) 以下是显示其基本用法的示例代码 - #!/usr/bin

  • 此方法返回字符串中的字符数。 语法 (Syntax) length(str) 参数 (Parameters) str - 源字符串 返回值 (Return Value) 此方法返回字符串中的字符数。 例子 (Example) /* Main program */ a = "Hello World" say length(a) 当我们运行上述程序时,我们将得到以下结果。 输出 (Outp