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的主要内容,如果未能解决你的问题,请参考以下文章
缺少驱动程序类 com.ibm.db2.jcc.DB2Driver 的依赖关系