Pular para o conteúdo

Fóruns SQL e PL/SQL Ajuda em um Select Responder a: Ajuda em um Select

#146843
Avatar photoJosé Laurindo Chiappa
Moderador

    Oi Sérgio, blz ? Espero que sim… Então, acho que vc matou a pau, é quase Certo que é um datatype errado/inválido para conter valores de data – isso imho fica Evidente quando a gente vê na query que as colunas com datas aparecem assim :

    20200101 20200122

    ie, sem barra, sem traço, sem nada… Concordo 100% com vc que isso OU é NUMBER ou é STRING, sim : via de regra só esses dois datatypes é que apareceriam assim….

    E a solução realmente SERIA usar o datatype ** CORRETO ** (até por Segurança e Integridade de dados, pois quando se bota datas numa coluna DATE ou TIMESTAMP ou similar vc tem 100% de certeza que o Oracle VAI VALIDAR a data, sendo Impossível vc informar um dia ou mês ou ano inválido : quando se enfia um dado num datatype string ou number esses caras aceitam Qualquer Coisa em princípio, quem faz isso está JOGANDO PELA JANELA qquer chance de Integridade de dados pelo database, via de regra) mas Concordo novamente, se não for possível fazer o certo e correto é fazer uma Conversão para date explícita, via TO_DATE(colunastring ou TO_DATE(TO_CHAR(colunanumber, cfrme for o datatype que erradamente foi usado para guardar datas nessa tabela, sim….

    []s

    Chiappa