Uma pequena contribuição.
Em um Controle, num campo Select, necessitava exibir tanto o nome do cliente quanto o CPF/CNPJ formatado… a solução encontrada via SQL:
SELECT cli,
CASE when length(cli)=11 then
concat(cliente, ". ", substring(cli,1,3), ‘.’, substring(cli,4,3), ‘.’, substring(cli,7,3), ‘-’, substring(cli,10,2))
ELSE concat (cliente, ". ", substring(cli,1,2), ‘.’,substring(cli,3,3), ‘.’, substring(cli,6,3), ‘/’,substring(cli,9,4), ‘-’, substring(cli,13,2))
END
FROM tbCli
ORDER BY cliente
Onde tbCli é a tabela, cli = CPF/CNPJ e Cliente = nome do cliente.
Espero que possa ser útil.