Often I have stored credit card numbers in varchar(16)
. That works, but it takes 17 bytes per number.
Storage is not that big a deal, but I like to be efficient, for both storage requirement, and table search time.
If I could use decimal(16) unsigned
, I could cut the storage requirement to 7 or 8 bytes, and still preserve readability as well as much of the compatibility.
This would strip leading zeros. Can I depend on all credit card numbers starting with a non-zero number?