cdfree 3 Denunciar post Postado Março 25, 2014 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
Motta 645 Denunciar post Postado Março 25, 2014 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
cdfree 3 Denunciar post Postado Março 26, 2014 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
Motta 645 Denunciar post Postado Março 26, 2014 Qual o type de LIMITE ? Compartilhar este post Link para o post Compartilhar em outros sites
cdfree 3 Denunciar post Postado Março 26, 2014 varchar2, se eu coloco date ou outro tipo o oci_execute($sql) do php dá erro. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Março 26, 2014 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
Motta 645 Denunciar post Postado Março 26, 2014 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