CHARACTER_LENGTH / CHAR_LENGTH

Calculates the number of characters in a string.

Note

Syntax

CHAR_LENGTH( text_expr ) --> INT
CHARACTER_LENGTH( text_expr ) --> INT

Arguments

Parameter

Description

text_expr

TEXT expression

Returns

Return an integer containing the number of characters in the string.

Notes

  • To get the length in bytes, see OCTET_LENGTH

  • If the value is NULL, the result is NULL.

Examples

For these examples, consider the following table and contents:

CREATE TABLE alphabets(line TEXT);

INSERT INTO alphabets VALUES
   ('abcdefghijklmnopqrstuvwxyz'), ('กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯ')
   , ('אבגדהוזחטיכלמנסעפצקרשת');

Length in characters and bytes of strings

ASCII characters take up 1 byte per character, while Thai takes up 3 bytes and Hebrew takes up 2 bytes.

Unlike LEN, CHARACTER_LENGTH and CHAR_LENGTH preserve the trailing white spaces.

t=> SELECT LEN(line), CHAR_LENGTH(line), OCTET_LENGTH(line) FROM alphabets;
len | char_length | octet_length
----+-------------+-------------
 26 |          26 |           26
 47 |          47 |          141
 22 |          22 |           44