LENGTH function
LENGTH returns the code points in
an encoded string.
Signatures
length ( <str> [, <encoding_name>] )
| Syntax element | Description |
|---|---|
<str>
|
A string or bytea value whose length you want.
|
<encoding_name>
|
Optional. A string value specifying the encoding to use for calculating the string’s length. Defaults to UTF-8.
|
| Parameter | Type | Description |
|---|---|---|
| str | string or bytea |
The string whose length you want. |
| encoding_name | string |
The encoding you want to use for calculating the string’s length. Defaults to UTF-8. |
Return value
length returns an int.
Details
Errors
length operations might return NULL values indicating errors in the
following cases:
- The encoding_name provided is not available in our encoding package.
- Some byte sequence in str was not compatible with the selected encoding.
Encoding details
-
Materialize uses the
encodingcrate. See the list of supported encodings, as well as their names within the API. -
Materialize attempts to convert PostgreSQL-style encoding names into the WHATWG-style encoding names used by the API.
For example, you can refer to
iso-8859-5(WHATWG-style) asISO_8859_5(PostrgreSQL-style).However, there are some differences in the names of the same encodings that we do not convert. For example, the windows-874 encoding is referred to as
WIN874in PostgreSQL; Materialize does not convert these names.
Examples
SELECT length('你好') AS len;
len
-----
2
SELECT length('你好', 'big5') AS len;
len
-----
3