Oracle 中的 LENGTH 函数详解
本文首次创作于 2025-04-03,最后更新于 2025-05-23,距离上次更新已经过了 13 天,文章内容可能已经过时。
Oracle 中的 LENGTH 函数详解
LENGTH 是 Oracle 数据库中用于获取字符串长度的函数,它返回字符串中的字符数。
基本语法
LENGTH(string)
参数说明
string: 要计算长度的字符串表达式,可以是字符串常量、列名或变量
使用示例
1. 基本用法
SELECT LENGTH('Oracle数据库') FROM dual;
-- 结果: 8 (中文字符每个算1个字符)
2. 结合表列使用
SELECT employee_name, LENGTH(employee_name) AS name_length
FROM employees;
3. 在 WHERE 子句中使用
SELECT * FROM products
WHERE LENGTH(product_name) > 20;
4. 与其他函数结合使用
SELECT SUBSTR(description, 1, LENGTH(description)/2) AS half_description
FROM product_details;
特殊注意事项
LENGTH 函数计算的是字符数,不是字节数
对于空字符串(''),LENGTH 返回 NULL
对于 NULL 值,LENGTH 返回 NULL
与 LENGTHB 的区别
Oracle 还提供了 LENGTHB 函数,它按字节而不是字符计算长度:
SELECT LENGTH('甲骨文') FROM dual; -- 结果: 3 (字符数)
SELECT LENGTHB('甲骨文') FROM dual; -- 结果可能是 6 或 9 (取决于字符编码,字节数)
处理 NULL 值
如果需要处理 NULL 值,可以使用 NVL 函数:
SELECT LENGTH(NVL(column_name, '')) FROM table_name;
实际应用场景
验证输入数据的长度是否符合要求
截取字符串时确定截取位置
数据清洗时识别异常长度的记录
格式化输出时计算填充空格的数量
LENGTH 函数是 Oracle SQL 中处理字符串时最基础也最常用的函数之一,经常与 SUBSTR、INSTR 等字符串函数配合使用。
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Noah
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果