LENGTH

说明

求字符串长度(字符数)。

语法

length ::=

参数

character_expression

CHAR, VARCHAR或TEXT类型的字符串,可以是常量,变量或者表中的列。

CHAR类型不包含输入字符串右边的空格。

返回值

INT4类型的字符串长度。

注解

如果表达式不是CHAR,VARCHAR或TEXT类型,请用CAST将其显示转为这三种类型之一然后再计算其长度。 转换请参见 数据类型的强制转化规则

示例

示例1: 使用 LENGTH 计算字符串长度

--  使用 LENGTH 计算字符串长度
--  CHAR类型不包含输入字符串右边的空格
SELECT LENGTH(' a');
LENGTH(int)      |
-----------------
2                |
总数目:1


SELECT LENGTH(' ab   '::CHAR(20));
LENGTH(int)      |
-----------------
3                |
总数目:1


SELECT LENGTH(' ab   '::TEXT);
LENGTH(int)      |
-----------------
6                |
总数目:1


SELECT LENGTH(' ab   '::VARCHAR(20));
LENGTH(int)      |
-----------------
6                |
总数目:1

示例2: 打开 ENABLE_CHARACTER_LENGTH 计算字符串长度(以 GBK 编码库为例)

--  打开 ENABLE_CHARACTER_LENGTH
SET ENABLE_CHARACTER_LENGTH = TRUE;


--  计算字符串长度(以 GBK 编码库为例)
SELECT LENGTH(' 你好   '::VARCHAR(20));
LENGTH(int)      |
-----------------
6                |
总数目:1


--  关闭 ENABLE_CHARACTER_LENGTH
SET ENABLE_CHARACTER_LENGTH = FALSE;


--  计算字符串长度
SELECT LENGTH(' 你好   '::VARCHAR(20));
LENGTH(int)      |
-----------------
8                |
总数目:1


--  重置参数
RESET ENABLE_CHARACTER_LENGTH;

示例3: 计算字符串长度(打开兼容 ORACLE 参数)

--  计算字符串长度(打开兼容 ORACLE 参数)
--  CHAR 类型计算长度就会是其定义长度
SELECT LENGTH(' ab   '::CHAR(20));
LENGTH(int)      |
-----------------
20               |
总数目:1


--  VARCHAR 类型计算长度会包含末尾空格
SELECT LENGTH(' ab   '::VARCHAR(20));
LENGTH(int)      |
-----------------
6                |
总数目:1