Storing leading zeros of integers in MySQL database as INTEGER Storing leading zeros of integers in MySQL database as INTEGER mysql mysql

Storing leading zeros of integers in MySQL database as INTEGER


Keep the numbers stored as integers.

Then use function LPAD() to show the numbers (left) padded with zeros:

SELECT LPAD( 14, 7, '0') AS padded;| padded  |-----------| 0000014 |

If the number of zerofill characters is variable, add another column in the table with that (zerofill) length.


You can still sort the string(CHAR/VARCHAR) columns like integer using CAST

ORDER BY CAST(`col_name` AS SIGNED) DESC

So, you can store them in CHAR/ VARCHAR type fields.


You can not store integer with leading zeroes. One way is keeping it in varchar as well as int columns. In this case, you need two columns, one value and the other intValue and while sorting, you can use the intValue for sorting. This is easy to implement.

Select Value from Table order by intValue;

The other option can be using two columns, one valu and othe NumOfZero and use these for the desired results. This is complex, but might be light on the DB.