Pular para o conteúdo
Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #105120
    Avatar de airoospairoosp
    Participante

      Bom dia,

      Quando se usa o campo do tipo INTEGER, a range que o mesmo aceita é de -2147483647 a 2147483647.

      Se um processo tentar gravar algum valor fora da range, acontecerá um erro, certo?

      Estou perguntado pois tem uma tabela que tem este campo e já foi gravado o valor de 2147483784.

      Se alguém puder passar mais informações sobre datatype, agradeço.

      Obrigado.

      Airton

      #105122
      Avatar de rmanrman
      Participante

        @airoosp

        O INTEGER é um NUMBER(38), isso quer dizer que você pode armazenar números com até 38 dígitos.

        Onde você tirou a informação sobre o range? 😯

        #105123
        Avatar de airoospairoosp
        Participante

          Foi no link abaixo.

          http://docs.oracle.com/javadb/10.3.3.0/ … 10696.html

          #105124
          Avatar de rmanrman
          Participante

            @airoosp

            Essa documentação é do JAVA BD.

            Quando me referi a NUMBER(38) pensei que estivesse falando de Oracle.

            #105125
            Avatar de airoospairoosp
            Participante

              Sim é do Oracle mesmo que estava falando, é que pesquisei muita coisa na internet ontem e por isso que pedi ajuda para esclarecer a dúvida.

              Tive que fazer a pesquisa para identificar um problema em uma aplicação, então fui analisando todas as possibilidades, tamanho do campo na tabela, event viewer do Windows, demais tabelas utilizadas pela aplicação, etc.

              Obrigado.

              Airton.

              #105126
              Avatar de rmanrman
              Participante

                @airoosp

                Bom, então não tem nada de estranho, o INTEGER que é um NUMBER(38) suporta até 38 dígitos.

                Segue um exemplo:


                CREATE TABLE NUMEROS(
                ID NUMBER,
                NUMERO NUMBER(38),
                INTEIRO INTEGER
                );

                INSERT INTO NUMEROS(ID,NUMERO,INTEIRO) VALUES(1,1,1);
                COMMIT;
                INSERT INTO NUMEROS(ID,NUMERO,INTEIRO) VALUES(2,99999999999999999999999999999999999999,99999999999999999999999999999999999999);
                COMMIT;
                INSERT INTO NUMEROS(ID,NUMERO,INTEIRO) VALUES(3,999999999999999999999999999999999999991,999999999999999999999999999999999999991);

                SELECT *
                FROM NUMEROS;

                Veja no terceiro INSERT é apresentado erro pois o número possui 39 dígitos.

              Visualizando 6 posts - 1 até 6 (de 6 do total)
              • Você deve fazer login para responder a este tópico.
              plugins premium WordPress