2
respostas

Duvida: 04 Desafio: primeiras vendas de um determinado dia

A resposta do desafio seria esta abaixo, porem ao consultar o CPF não vem com varchar de 11, onde o CPF deveria se manter com 11 caracteres e não anular o zero a esquerda. Como ajustar isso diretamente na tabela, e qual a função eu poderia utilizar para fazer a consulta nesse formato por favor ?

SELECT TOP 10 * FROM NOTAS_FISCAIS WHERE DATA_VENDA = '2017/10/01'

Qual função adicionar para vir a consultar com varchar de 11 na coluna CPF ? Obs.: Foi criada a tabela com varchar de 11 (não nulo) E como eu poderia resolver diretamente no banco para que na consulta não precisasse utilizar funções para visualizar o cpf corretamente?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Olá Jessica,

Se você está tendo problemas com CPFs que começam com zero sendo exibidos incorretamente, isso pode ser devido ao fato de que o SQL Server está tratando o CPF como um número, em vez de uma string. Quando um número começa com zero, o SQL Server ignora os zeros à esquerda.

Para resolver isso, você pode garantir que o CPF seja sempre tratado como uma string. Se a coluna CPF já é do tipo VARCHAR(11), os zeros à esquerda não devem ser removidos. Se eles estão sendo removidos, pode ser que os dados estejam sendo inseridos na tabela como números, em vez de strings.

Se você quiser garantir que o CPF seja sempre exibido com 11 caracteres, preenchendo com zeros à esquerda se necessário, você pode usar a função FORMAT do SQL Server. Aqui está um exemplo:

SELECT FORMAT(CPF, '00000000000') as CPF
FROM NOTAS_FISCAIS
WHERE DATA_VENDA = '2017/10/01'

Neste exemplo, 00000000000 é uma string de formato que indica que o CPF deve ser preenchido com zeros à esquerda até ter 11 dígitos.

Espero que isso ajude! Se você tiver mais perguntas, fique à vontade para perguntar.

Oi Pablo,

Obrigada pela orientação.

Porém fui aplicar e deu acusou o erro:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade