---
title: 字符串中含有非可见的 ASCII 字符时，LPAD 结果与 Oracle 不兼容-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于字符串中含有非可见的 ASCII 字符时，LPAD 结果与 Oracle 不兼容相关的常见问题和使用技巧，帮助您快速解决字符串中含有非可见的 ASCII 字符时，LPAD 结果与 Oracle 不兼容的难题。
---
切换语言

- 简体中文
- English

划线反馈

# 字符串中含有非可见的 ASCII 字符时，LPAD 结果与 Oracle 不兼容

更新时间：2026-05-19 08:21

适用版本： V2.2.x、V3.1.x、V3.2.x 内容类型：Troubleshoot  

## 问题现象

字符串中含有非可见的 ASCII 字符时，LPAD 结果与 Oracle 不兼容，LPAD 结果比 Oracle 长。

### OceanBase 数据库 Oracle 模式示例

1. 创建表 `t1`。

   ```sql
   create table t1(c1 varchar2(100));

   ```
 2. 插入带有 ASCII 数据。

   ```sql
   insert into t1 values(unistr('\0003'));

   ```
 3. 查询 LPAD 结果。

   ```sql
   select lengthb(lpad(c1, '10', ' ')) - lengthb(c1), length(c1) from t1 ;
   +---------------------------------------+------------+
   | LENGTHB(LPAD(C1,'10',''))-LENGTHB(C1) | LENGTH(C1) |
   +---------------------------------------+------------+
   |                                    10 |          1 |
   +---------------------------------------+------------+
   1 row in set

   ```

### Oracle 数据库示例

1. 创建表 `t1`。

   ```sql
   select lengthb(lpad(c1, '10', ' ')) - lengthb(c1), length(c1) from t1 ;
   +---------------------------------------+------------+
   | LENGTHB(LPAD(C1,'10',''))-LENGTHB(C1) | LENGTH(C1) |
   +---------------------------------------+------------+
   |                                     9 |          1 |
   +---------------------------------------+------------+
   1 row in set

   ```

## 问题原因

LPAD 在计算非可见的 ASCII 字符的展示宽度时与 Oracle 算的结果不一致导致。

## 问题的风险及影响

LPAD 结果错误，多了一些字节。

## 影响租户

影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。

## 影响的版本

OceanBase 数据库企业版 V2.2.77 GA（oceanbase-2.2.77-20210508211731）及之后版本、V3.1.2 GA（oceanbase-3.1.2-20210618150922）及之后版本、V3.2.3 GA（oceanbase-3.2.3.0-20220418212020）及之后版本。

## 解决方法

升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库企业版 V2.2.77 BP15（oceanbase-2.2.77-115000012023010607）及之后版本、V3.1.2 BP11（oceanbase-3.1.2-111000052023010412）及之后版本、V3.2.3 BP6 Hotfix4（oceanbase-3.2.3.3-106040022022122222）版本、V3.2.3 BP6 Hotfix5（oceanbase-3.2.3.3-106050012023051617）版本、V3.2.3 BP7（oceanbase-3.2.3.3-107000092023011911）及之后版本。

Previous

[使用 nlssort 报错：-4077, 不支持的功能](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000210001)

Next

[NLJ 条件下压计划执行结果错误](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000422798) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
