Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde a todos,
Pessoal estou com uma duvida que ja pesquisei bastante e todo mundo apenas dá o nome da função porem não ensina como utiliza-la.
Estou em um DB Oracle e tenho uma coluna com a data assim 01-jan-2013
E assim não consigo filtrar os resultados, como faço para listar apenas uma data ou um periodo, preciso das duas formas.
Eu tentei: SELECT * FROM CLIENTES WHERE DATA='01-JAN-2013'
e não funciona por nada.
Pesquisei e vi algo semelhante usando DATA PART.
Obrigado
O DATE grava no banco na realidade um número, segundos passados depois de uma determinada data (bem antiga mas não lembro qual), o "formato" na realidade é uma opção de BD ou sessão.
A função to_char permite que se retire quase todas as informações da data.
Uma data
select * from tabela where data = to_date('21/01/2013','dd/mm/yyyy')
Intervalo
select * from tabela where data between to_date('01/01/2013','dd/mm/yyyy') and to_date('21/01/2013','dd/mm/yyyy')
Para mais detalhes veja o "manuel"
Bruno, o link aponta MySql.
Obrigado pelos comentários, mais ainda não consegui, vou por em anexo como está minha tabela no sistema.
Qual a sua dúvida ?
Obrigado pela ajuda de todos, consegui resolver meu problema.
vou postar o código (Oracle) que utilizei e deu certo.
select PCLANC.dtlanc,PCLANC.codfornec,PCFORNEC.fornecedor,PCLANC.VALOR,NUMNOTA,
pclanc.historico
from PCLANC JOIN pcfornec on PCLANC.CODFORNEC = PCFORNEC.CODFORNEC
where historico like '%FRETE%' and dtlanc>='01-jan-12' and dtlanc<='31-jan-12'
CASO SOLUCIONADO!!!
Seria mais ou menos isso que você quer?
SELECT TO_DATE('01/JAN/2013','DD/MM/YYYY') FROM DUAL;