Pular para o conteúdo
Visualizando 7 posts - 1 até 7 (de 7 do total)
  • Autor
    Posts
  • #78758
    Anônimo

      Olá Pessoal.

      Estou com problemas na seguinte Query:

      SELECT *
      FROM t_fabricacao
      WHERE ( ( valor > 0 AND bvalido) OR (quantidade > 0 AND NOT bvencido) )

      o Oracle aponta que o operador relacional > é invalido, porque isso? e como eu faria então para testar se o valor é maior que 0 ?

      nota: o select esta numa função e o bvalido e o bvencido é um parametro do tipo boolean.

      Grato a Todos.

      #78759
      chduarte
      Participante

        Eu fiz o seguinte teste tentando simular a sua query:

        select *
        from dba_objects
        WHERE ( ( object_id > 0 AND (1 = 2)) OR (object_id > 100 AND NOT (1=1)) );

        Nao retorna nenhuma linha mas o parse é feito com sucesso.

        Qual erro esta retornando?

        []

        #78760
        Anônimo

          é a sua query deu certo..

          será que o tipo que eu to passando como boolean ta dando problema?

          o erro que ele retorna é este:
          SQL Error: ORA-00920: invalid relational operator

          grato.

          #78761
          chduarte
          Participante

            Pode ser. Tenta passar o booleano como char ou varchar2.

            []

            #78762
            Anônimo

              O oracle tem o data type boolean, é que eu estou migrando umas funções do postgres ?

              grato.

              #78764
              chduarte
              Participante

                Somente para PL/SQL. Nao existe para campos de tabelas ou operadores relacionais.

                []

                #78765
                chduarte
                Participante

                  Para simular o boolean, cria a tabela com coluna char(1).

                  Para ver se é true use: (variavel = 1). Se a variavel for 1, ele vai comparar (1 = 1) que é true, se for qualquer outra coisa vai ser false.

                  []

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