Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Estou com problemas com o comando strftime(

Apresenta o seguinte erro:


SQLITE_ERROR: sqlite3 result code 1: no such column: %Y
Table - [vendas] column: id_venda, data_venda, total_venda, cliente_id
3 respostas

Oii, Paloma! Tudo bem?

Esse erro indica que a consulta SQL está tentando acessar uma coluna que não existe na tabela vendas. Isso pode ser causado por erros de digitação, coluna excluída, nome da coluna incorreta.

Como sugestão, revise o seu código para poder identificar possíveis erros de sintaxe. Verifique se a coluna de fato existe na tabela e se os nomes estão corretos tanto no código quanto na tabela.

Caso ainda, sim, não consiga identificar o problema, peço por gentileza que compartilhe o seu código e o nome da aula que estava assistindo no momento que obteve o erro.

Qualquer dúvida, conte conosco. Bons estudos, Paloma!

solução!

Paloma, tive o mesmo problema. Não sei se foi uma atualização mas pelo visto o SQLite OnLine não está reconhecendo "%Y" para ano. Cheguei até a copiar o código na transcrição do video mesmo tendo certeza que estava idêntico, e o do professor também deu erro: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Um jeito que usei para contornar isso foi usar outra função, SUBSTR (Ela é parecida com EXT.TEXTO do Excel, a partir de x caractere extraia n caracteres. Como no DB o ano é a primeira informação então usei 1 e 4 respectivamente):

--VERIFICAR ANOS COM VENDAS USANDO SUBSTR AO INVÉS DE STRFTIME
SELECT SUBSTR(data_venda, 1, 4) AS ANO FROM vendas;

Em tempo, para mês Funciona certinho.

--QUANTIDADE DE VENDAS POR ANO E MÊS
SELECT 
SUBSTR(data_venda, 1, 4) AS ANO
,STRFTIME('%m', data_venda) AS MÊS
,COUNT(*) AS QTD_VENDAS
FROM vendas
GROUP BY ANO, MÊS
ORDER BY ANO

Oii Gustavo, muito obrigada pela ajuda, funcionou aqui.