quarta-feira, 30 de outubro de 2013

Operadores

Hoje vou tratar de um tema simples porem super importante para programar em PL/SQL,tipo de operadores.

São os simbolos utilizados pela PL/SQL e pelo Oracle para tratar valores

Operadores aritméticos:
  • Soma: +
  • Subtração: -
  • Divisão: /
  • Exponenciação: ** (esse operador só é reconhecido pelo pl/sql)
Operadores de comparação
  • Diferente:  != e <>
  • Igual que:  =
  • Maior que: >
  • Menor que: <
  • Maior ou igual que: >= 
  • Menor ou igual que:<= 
  • Entre: BETWEEN
  • Campara se o valores esta entre dois valores.
  • Concatenar: || 
  • Parecido: LIKE 
Compara parte de um grupo de caracteres. Propriedades o simbolo "%" representa qualquer cadeia de caracteres de 0 ou mais caracteres e o simbolo "_" representa um único caractere qualquer. O select com o operador LIKE pode ter os seguintes comportamentos:

 SELECT c_nome FROM tb_teste WHERE c_nome LIKE 'A%' -- Retorna todos os nomes que começam com a letra "A"
 SELECT c_nome FROM tb_teste WHERE c_nome LIKE '%A%' -- Retorna todos os nomes que tenham a letra "A" em qualquer lugar.
 SELECT c_nome FROM tb_teste WHERE c_nome LIKE '_A%' -- Retorna apenas os nomes onde a segunda letra é "A".
 SELECT c_nome FROM tb_teste WHERE c_nome LIKE 'AB_' -- Retorna apenas  os nomes que comecem com "AB" e tenham apenas 3 letras.
 SELECT c_nome FROM tb_teste WHERE c_nome LIKE 'AB%' -- Retorna todos os nomes que comecem com "AB".
 SELECT c_nome FROM tb_teste WHERE c_nome LIKE '%' -- Retorna todos os nomes que contenham qualquer caracteres (não podem ser nulos).
  • Negação: Not
Nega todos os operadores retornando os resultado que o operador não retornaria. Exemplo:
          SELECT c_nome FROM tb_teste WHERE c_nome NOT LIKE 'A%' -- Retorna todos os nomes que não começam com a letra "A"
        • Dentro do: IN 
        Busca o resultado dentro de um grupo de valores, funciona como vários "ORs" concatenados. Exemplo:

         SELECT * FROM tb_teste WHERE c_idade = 18 or c_idade = or c_idade =  25  -- Retorna todos os registros da tabela onde a idade for 18 ou 9 ou 25. 

        Utilizando o operador IN ficaria assim:

        SELECT * FROM tb_teste WHERE c_idade in (18, 9, 25) -- Retorna todos os registros da tabela onde a idade for 18 ou 9 ou 25.


        Operadores lógicos:
        • E: AND
        Retorna positivo se todas as cláusulas forem verdadeiras.

        • Ou: OR 
        Retorna positivo se uma das cláusulas for verdadeira.





        Operadores de atribuição
        • Atribuir: ":=" ( dois pontos igual)
        Usado para atribuir um valor a variável. Exemplo:

        DECLARE
          v_teste NUMBER;
        BEGIN
          v_teste := 1;
        END;


        No código acima a variável  v_teste é declarada e posteriormente tem o valor um atribuído a ela.


        Bem esses são os principais operadores utilizados no PL/SQL! Espero que o post tenha ajudado qualquer duvida pode entrar em contato ou deixar nos comentários.





          2 comentários:

          Deixe aqui sua opinião, duvida ou sugestão!