pad varchar numbers with 0s in db2

2019-02-12 06:45发布

问题:

Is there a way to pad 0s before numbers stored as VARCHAR in DB2?

Like this:

some_column     result
-----------     ------
12          ==>  00012
123         ==>  00123
6454        ==>  06454

回答1:

If the function LPAD is available:

SELECT LPAD(some_column, 5, '0')
FROM table

Otherwise you can use a combination of RIGHT and REPEAT:

SELECT RIGHT(REPEAT('0', 5) || some_column, 5)
FROM table

some_column  |  Concatenate five '0's to some_column  | Return the five rightmost characters
------------------------------------------------------------------------
    12       =>             0000012                   =>   00012
   123       =>            00000123                   =>   00123
  6454       =>           000006454                   =>   06454


标签: db2 padding