BLEN
📄字数 499
👁️阅读量 加载中...
功能描述
计算字符串的字节数。等价于 BLENGTH()。
语法格式
sql
BLEN(expr)输入参数
expr:VARCHAR或CLOB类型,或能隐式转换为VARCHAR或CLOB类型的其他类型。
提示
- 因
NULL无具体的类型,所以当参数为NULL时,会产生异常E10100 候选函数出现多义性,需要手动为参数指定具体的类型,如:BLEN(NULL::VARCHAR)。
输出结果
返回 INTEGER 类型。若参数为空字符串则返回 0,如果输入参数为 NULL,则输出结果为 NULL。
提示
- 多字节字符在不同字符集编码的库中,执行结果有差别。例如一个汉字在
UTF8库中占3个字节,在GBK库中占2个字节。
执行类型
| TYPE | VALUE | 说明 |
|---|---|---|
| NATIVE | 0 | 函数只能在本地计算 |
| VOLATI | 0 | 函数的每次计算值不同 |
| STABLE | 0 | 函数的每次计算值相同 |
| COMPUTE | 0 | 函数支持预计算取值 |
| NOT_CONST | 0 | 函数不支持转常数 |
| HAVE_DEF | 0 | 函数参数有默认值 |
示例
以字符集为UTF-8的数据库为例:
sql
-- 单字节字符
SQL> SELECT BLEN('abcde');
+-------+
| EXPR1 |
+-------+
| 5 |
+-------+
-- 两字节字符
SQL> SELECT BLEN('Δ');
+-------+
| EXPR1 |
+-------+
| 2 |
+-------+
-- 三字节字符
SQL> SELECT BLEN('字');
+-------+
| EXPR1 |
+-------+
| 3 |
+-------+