IBM DB2 LPAD / RPAD

时间:2008-11-13 08:14:13

标签: sql db2

我在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功能吗?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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,