Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cdfree

base data formato dd/mm/aaaa

Recommended Posts

Como posso criar uma coluna para data "date" no formado 20-04-2014, para depois consultar os registro pelo ano 2014,2015,2016 etc. Meu campo input recebe valor neste formato 20-04-2014, estou gravando como varchar2(20) a solução ainda esta em desenvolvimento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use o formato datetime, este formato internamente guarda um number, a qtd de segundos até uma data base.

Para exibir o Oracle usa um formato padrão que pode ser modificado por sessão ou linha de sql.

Para obter ano ,mês etc utilize functions padrão como to_char.

Veja a documentação para mais detalhes.



http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions180.htm

 

 

http://docs.oracle.com/cd/B28359_01/server.111/b28286/sql_elements004.htm#SQLRF00210

Compartilhar este post


Link para o post
Compartilhar em outros sites

neste formato:

 

 

SELECT TO_CHAR(TO_DATE(limite, 'dd/mm/yyyy') ,'dd/mm/YYYY') as ano FROM contrato;

 

retor só dia, mês ou ano.



select TO_DATE(limite,'dd/mm/YYYY') as limite from contrato, desta forma o resultado é 25/03/14 e não 25/03/2014. porquê?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para datas use datetime, os tipos correspondentes no front-end devem ser compatíveis.

 

Lembre que o formato de exibição pode ser modificado, no nível do banco, da sessão ou do select.

 

Usar char para datas acaba em muito trabalho pois sequer conversões constantes.

 

Como disse leia a documentação para conhecer os formatos e functions.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplos de formato

 

select to_char(sysdate,'dd/mm/yyyy') from dual

Data formato "brasileiro"

select to_char(sysdate,'d day month q') from dual

Dia da semana, nome dia semana, nome mês , trimestre

 

----------------

Convertendo uma string para data

 

 

select to_date('01/01/2014','dd/mm/yyyy') form dual

Obtendo que dia da senama foi esta data

 

select to_char(to_date('01/01/2014','dd/mm/yyyy'),'day') form dual

----------------------

Ajudou ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.