1
resposta

Eu gostaria de saber se a forma como fiz está correta comparada a resposta do exercício

MINHA RESPOSTA:

SELECT ROWNUM, NOTAS_FISCAIS.* FROM NOTAS_FISCAIS WHERE ROWNUM <=10 AND DATA_VENDA = '01/10/2017';

RESPOSTA DO EXERCÍCIO:

SELECT * FROM NOTAS_FISCAIS WHERE DATA_VENDA = TO_DATE('2017-01-01','YYYY-MM-DD') AND ROWNUM <= 10;
1 resposta

Oi Luis, como você está?

Peço desculpas por demorar a te responder.

Sua resposta está correta! Em SQL, temos muitas formas de chegar a um mesmo resultado. O importante é que você compreenda a lógica e as ferramentas que a linguagem nos oferece e consiga solucionar problemas através delas.

As diferenças estão na ordem das declarações lógicas e na utilização da função ROWNUM para retornar o número da linha, o que não tem nenhum problema.

Além disso, você usou outro formato de fata ('01/10/2017'), que pode ser ambíguo. Dependendo das configurações regionais do banco de dados, a interpretação dessa data pode variar. Portanto, é recomendável usar um formato de data padronizado como a da resposta do exercício com a função TO_DATE que converte uma string em uma data. A expressão TO_DATE('2017-01-01','YYYY-MM-DD') retorna a data no formato correto ('2017-01-01') para comparar com a coluna DATA_VENDA. Essa abordagem é mais robusta e menos propensa a erros de interpretação da data. É importante atentar-se a isso quando lidar com uma grande quantidade de dados, mas no projeto que estamos utilizando na aula, a padronização das datas já é conhecida.

Espero ter colaborado :)

Abração!