CHARACTER_LENGTH

CHARACTER_LENGTH() 函数:

  • 对于 CHAR 和 VARCHAR 列,返回以 UTF-8 字符数表示的字符串长度

  • 对于 BINARY 和 VARBINARY 列,返回以字节(八位字节)表示的字符串长度

  • 去掉 CHAR 表达式中的填充值,但是不去掉 VARCHAR 表达式中的填充值

  • 与用于 CHAR 和 VARCHAR 的 LENGTH() 相同。对于二进制类型,CHARACTER_LENGTH() 与 OCTET_LENGTH() 相同。

行为类型

如果为 USING OCTETS,则是 不可变,否则为 稳定

语法

[ CHAR_LENGTH | CHARACTER_LENGTH ] ( expression ... [ USING { CHARACTERS | OCTETS } ] )

参数

expression
(CHAR 或 VARCHAR)是要测量的字符串
USING CHARACTERS | OCTETS
确定字符长度是以字节(默认值)还是以八位字节为单位表示的。

示例

=> SELECT CHAR_LENGTH('1234  '::CHAR(10) USING OCTETS);
 octet_length
--------------
            4
(1 row)

=> SELECT CHAR_LENGTH('1234  '::VARCHAR(10));
 char_length
-------------
           6
(1 row)

=> SELECT CHAR_LENGTH(NULL::CHAR(10)) IS NULL;
 ?column?
----------
 t
(1 row)

另请参阅