Consulta usando campo de Data

Oracle

29/09/2014

Amigos, como eu poderia fazer esta consulta no oracle? filtra pelo ano.
neste caso, só me traz os que estão com a data igual, como eu pego todos do ano de 2010?


Agradeço

-- Encontre alunos com nota em BD em 2010 menor que 5
select * from TB_ALUNOS A
inner join TB_HISTORICO H on H.RA = A.ra
inner join TB_DISCIPLINAS D on d.COD_DISC = H.COD_DISC
where H.ANO = '2010-02-02'
and H.NOTA < '5'
Itamar Souza

Itamar Souza

Curtidas 0

Respostas

Marisiana Battistella

Marisiana Battistella

29/09/2014

Essa data '2010-02-02' é um parâmetro informado?
Que informação vc tem armazenada no campo H.ANO, uma data ou o ano?
GOSTEI 0
Marcus Almeida

Marcus Almeida

29/09/2014

Itamar, você poderia utilizar o formato de conversão TO_CHAR para extrair o ano.
Por exemplo:

SELECT a.nome, d.disciplina, h.nota, TO_CHAR(h.ano,'YYYY') Ano
FROM aluno a  
JOIN historico h ON a.cod_alu = h.cod_alu
JOIN disciplina d ON d.cod_hist = h.cod_disc
WHERE TO_CHAR(h.ano,'YYYY') = &ANO AND h.nota < 5; 


Você poderia especificar o ano diretamente ao invés de utilizar '&ANO'.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

29/09/2014

Itamar, você conseguiu encontrar a solução?
GOSTEI 0
POSTAR