Geralmente o cnpj no banco é representada por text ou varchar
Você iria se surpreender, já trabalhei em muito banco que usa int no cnpj.
No meu caso, me expressei mal, é "breaking" change. Os b-trees distinguem A de a, por exemplo. Então basicamente meu indexes iriam para o lixo se a ingestão fosse mal feita (sem mandar tudo para uppercase como exemplo). O ponto é que eu nem estava atento a essa mudança, então se eu não ajustasse meu db antes, teria muito index com lixo e um sistema não performático.