IBM DB2 LPAD/RPAD

Posted

技术标签:

【中文标题】IBM DB2 LPAD/RPAD【英文标题】: 【发布时间】:2008-11-13 08:14:12 【问题描述】:

我在 Windows 2003 服务器上使用 db2 v.9.1,因此它不能使用 LPAD 或 RPAD 函数标量。 因为那些函数只支持 z/OS 对吧?

现在,当 COLUMN1 类型为 VARCHAR 时,我使用这种方式填充零

 RIGHT('0000' ||  COLUMN1 ,4) AS  RPAD
 LEFT('0000' ||  COLUMN1 ,4) AS  LPAD

有更好的方法来替换 LPAD 或 RPAD 功能吗?

【问题讨论】:

不应该吗? LEFT(COLUMN1 || '0000' ,4) 作为 RPAD RIGHT('0000' || COLUMN1 ,4) 作为 LPAD 【参考方案1】:

我想你可能想要REPEAT 标量函数。

【讨论】:

【参考方案2】:
REPEAT('0',4) || column_name

现在,如果您想根据字符数限制 0,您可以使用 RIGHT 函数,假设您的列是 varchar(10),它看起来像这样:

RIGHT(REPEAT('0',4) || column_name, 10) 在这种情况下,如果您有字符,它将用前面的 4 个 0 填充它,但如果您有 7 个字符,它将用 3 个 0 填充它。

所以你会: 00001, 000012, 0000123, 00001234, 000012345, 0000123456, 0001234567, 0012345678, 等等

【讨论】:

以上是关于IBM DB2 LPAD/RPAD的主要内容,如果未能解决你的问题,请参考以下文章

IBM DB2认证简介

缺少驱动程序类 com.ibm.db2.jcc.DB2Driver 的依赖关系

IBM/DB2.Linux的安装配置管理

未找到指定的 JDBC 驱动程序 com.ibm.db2.jcc.DB2Driver 类

IBM db2 的安装问题

python操作db2和mysql ,ibm_db