Operadores de filial no comando SELECT. Conversão NVL para diferentes tipos de dados Trabalho de laboratório

Função to_char com números

Funções de conversão de dados para outros tipos de dados. To_char (número) converte um número em texto. To_number converte texto para o número.

Selecione to_char (123) De Dual Vai retornar a linha 123, selecione To_number (`12345") de Dual retornará o número 12345.

Trabalho de laboratório. Alterando o formato dos números de saída

Alterações no formato de valores numéricos no Oracle SQL, a função To_char para funcionar com valores numéricos.

A tarefa:

Escreva uma solicitação que exiba informações sobre o nome, o sobrenome e o salário dos funcionários da tabela HR.Employees no formato mostrado na Fig. 3.4-1:

FIG. 3.4. -1

Ao mesmo tempo, os dados devem ser classificados de forma que as linhas para os funcionários com o maior salário são exibidas pela primeira vez.

Observação:

Alguns salários na Fig. 3.4-1 foram alterados, então eles podem não coincidir com seus valores.

Decisão:

Selecione First_name como "nome", Last_name como "sobrenome", to_char (salário, "l9999999999.99") como "salada" de hr.employees ordem por salário desc.

Funções to_number e to_date

Função de conversão de linha na data t_date (string, formato). Formatos possíveis já são considerados acima, então eu darei alguns exemplos de usar esta função. Exemplos:

Selecione. To_date (01.01.2010, `dd.mm.yyyy) A partir de. Dual retornará a data `01.01.2010";

Selecione. To_date (01.JAN.2010, `dd.mon.yyyy) A partir de. Dual retornará a data `01.01.2009";

Selecione. To_date ("15-01-10", `dd-mm-yy") A partir de. Dual retornará a data do dia 15/01/2010 ".

Função de conversão de linha para o valor numérico To_number (string, formato). Os formatos mais comuns são listados na tabela, portanto, considere o uso dessa função nos exemplos. Exemplos:

Selecione. To_number (`100") A partir de. Dual retornará o número 100 Select to_number (`0010.01," 9999D99) A partir de. Dual retornará o número 10.01;

Selecione. To_number ("500.000", "999G999") A partir de. Dual retornará o número 500000.

Elemento RR no formato das datas

O elemento do formato RR de data e hora é semelhante ao elemento YY data e no formato de hora, mas fornece flexibilidade adicional para armazenar os valores de data e em outros séculos. Um elemento das datas de RR e o formato de tempo permite que você armazene as datas do século XX no século XXI, indicando apenas os dois últimos dígitos do ano.

Se as duas últimas figuras do ano atual são 00 a 49, o ano de retorno tem os mesmos primeiros dois dígitos que no ano atual.

Se as duas últimas figuras do ano atual de 50 a 99, os primeiros 2 dígitos do ano retornado são mais do que nos primeiros 2 dígitos do ano atual.

Se as duas últimas figuras do ano atual são 00 a 49, os primeiros 2 dígitos do ano retornado são 1 menor que os primeiros 2 dígitos do ano atual.

Se as duas últimas figuras do ano atual de 50 a 99, o ano retornado tem os mesmos primeiros dois dígitos que no ano atual.

Recurso nvl.

A função NVL é geralmente aplicada com mais frequência. A função recebe dois parâmetros: NVL (expr1, exerg2). Se o primeiro parâmetro Expr1 não for igual a nulo, a função retornará seu valor. Se o primeiro parâmetro nulo, a função retornará o valor do segundo parâmetro do Exerg2.

Exemplo: selecione NVL (supplier_city, n / a ") de fornecedores:

A instrução SQL retornará n / "se o campo Supplier_City contiver um valor zero. Caso contrário, retornará o valor fornecedor_city.

Outro exemplo de uso da função NVL no Oracle / PLSQL é:

selecione Supplier_id, NVL (Supplier_Desc, Supplier_Name) de fornecedores.

Este aplicativo SQL retornará nome do Fornecedor. Campo, se supplier_desc. contém valor zero. Caso contrário, ele retornará supplier_desc..

Último exemplo: Usando a função NVL no Oracle / PLSQL é: Selecione NVL (Comissão, 0) de vendas;

Esta instrução SQL retornou a 0 se comissão O campo contém valor zero. Caso contrário, seria possível retornar comissão campo.

Conversão NVL para diferentes tipos de dados

Para converter um valor indeterminado para a função real, a função NVL é usada: Nvl ( expressão1, expressão 2), onde:

expressão1- Fonte ou valor calculado que pode ser incerto.

expressão2. - Um valor substituído em vez de um valor indefinido.

Observação: A função NVL pode ser usada para converter qualquer tipo de dados, mas o resultado será sempre o mesmo tipo que expressão1.

Conversão NVL para vários tipos:

Número - NVL. (coluna numérica, 9).

Char ou varchar2 - NVL (Símbolos | Coluna, "Não disponível").

Trabalho de laboratório. Aplicação da função NVL

Recurso NVL para trabalhar com valores incertos no Oracle SQL.

A tarefa:

Escreva uma solicitação que exiba informações sobre o nome e o sobrenome do pessoal da tabela HR.Employees., Assim como a proposta da Comissão (Coluna Commission_PCT) para o empregado. Ao mesmo tempo, para aqueles funcionários para os quais a Comissão não é definida, é necessário exibir um valor de 0. O resultado da consulta deve ser apresentado na FIG. 3.5-1.

FIG. 3.5. -1 (Valores começam na linha 51)

Decisão:

O código da solicitação correspondente pode ser:

Selecione First_name como "Nome", Last_name como "sobrenome", NVL (commission_pct, 0) como "taxa de comissão" de HR.Employees.

Recurso nvl.

A função NVL é geralmente aplicada com mais frequência. A função recebe dois parâmetros: NVL (expr1, expr2). Se o primeiro parâmetro Expr1 não for igual a nulo, a função retornará seu valor. Se o primeiro parâmetro NULL, a função retornará o valor do segundo parâmetro Expr2.

Considerar exemplo prático. O campo Comm na tabela EMP pode conter valores nulos. Ao executar uma consulta do formulário:

Selecione Empno, Ename, Comm, NVL (COMM, 0) NVL_COMM

De scott.emp.

o valor nulo será substituído por zero. Por favor, note que, no caso da formação do valor com a ajuda da função, ele é atribuído a um pseudônimo. Os resultados da solicitação serão:

Empno. Ename. Comm. Nvl_comm.
7369 Smith. 0
7499 Allen. 300 300
7521 ala 500 500
7566 Jones 0
7654 Martin. 1400 1400
7698 Blake. 0
7782 Clark. 0
7839 Rei. 0
7844 torneiro 0 0
7900 James. 0
7902 Ford. 0
7934 Moleiro. 0

CEIL (n)

A função do CEIL retorna o menor inteiro, maior ou igual ao número de N. Por exemplo:

Selecione CEIL (100) x1, CEIL (-100) x2, CEIL (100.2) x3, CEIL (-100.2) x4

De dupla.

Função de Trunc (n [, M])

A função Trunc retorna o número n truncado para m sinal após o ponto decimal. O parâmetro M não pode ser indicado - neste caso, n truncado para o todo.

Selecione Trunc (100.25678) x1, trunc (-100.25678) x2, trunc (100.99) x3,

Trunc (100.25678, 2) x4

De dupla.

Sinal (n) função

A função de sinal determina o número de números. Se n for positivo, a função retorna 1. Se negativo for retornado -1. Se zero é zero, então 0 será retornado. Por exemplo:

Selecione o sinal (100.22) x1, sinal (-100.22) x2, sinal (0) x3

De dupla.

Uma característica interessante desse recurso é a possibilidade de transmitir m igual a zero - não surge os erros de divisão em 0.

Função de energia (n, m)

A função de energia constrói o número n no grau m. O grau pode ser fracionário e negativo, o que expande significativamente as capacidades desta função.

Selecione Power (10, 2) x1, energia (100, 1/2) x2,

Power (1000, 1/3) x3, energia (1000, -1/3) x4

De dupla.

X1. X2. X3. X4.
100 10 10 0,1

Em alguns casos, ao chamar esse recurso, uma exceção pode ocorrer. Por exemplo:

Selecione Power (-100, 1/2) x2

De dupla.

DENTRO este caso É feita uma tentativa de calcular uma raiz quadrada de um número negativo, o que resultará em um erro ora-01428 "argumento fora do intervalo".

Função sqrt (n)

Este recurso retorna raiz quadrada do número n. Por exemplo:

Selecione SQRT (100) x

De dupla.

Funções exp (n) e ln (n)

A função EXP erende e para o grau n, e a função LN calcula o logaritmo natural de N (com N, N deve ser maior que zero). Exemplo:

Selecione Exp (2) x1, LN (1) x2, LN (exp (2)) x3

Recurso nvl.

A função NVL é geralmente aplicada com mais frequência. A função recebe dois parâmetros: NVL (expr1, expr2). Se o primeiro parâmetro Expr1 não for igual a nulo, a função retornará seu valor. Se o primeiro parâmetro NULL, a função retornará o valor do segundo parâmetro Expr2.

Considere um exemplo prático. O campo Comm na tabela EMP pode conter valores nulos. Ao executar uma consulta do formulário:

Selecione Empno, Ename, Comm, NVL (COMM, 0) NVL_COMM

De scott.emp.

o valor nulo será substituído por zero. Por favor, note que, no caso da formação do valor com a ajuda da função, ele é atribuído a um pseudônimo. Os resultados da solicitação serão:

Empno. Ename. Comm. Nvl_comm.
7369 Smith. 0
7499 Allen. 300 300
7521 ala 500 500
7566 Jones 0
7654 Martin. 1400 1400
7698 Blake. 0
7782 Clark. 0
7839 Rei. 0
7844 torneiro 0 0
7900 James. 0
7902 Ford. 0
7934 Moleiro. 0

CEIL (n)

A função do CEIL retorna o menor inteiro, maior ou igual ao número de N. Por exemplo:

Selecione CEIL (100) x1, CEIL (-100) x2, CEIL (100.2) x3, CEIL (-100.2) x4

De dupla.

Função de Trunc (n [, M])

A função Trunc retorna o número n truncado para m sinal após o ponto decimal. O parâmetro M não pode ser indicado - neste caso, n truncado para o todo.

Selecione Trunc (100.25678) x1, trunc (-100.25678) x2, trunc (100.99) x3,

Trunc (100.25678, 2) x4

De dupla.

Sinal (n) função

A função de sinal determina o número de números. Se n for positivo, a função retorna 1. Se negativo for retornado -1. Se zero é zero, então 0 será retornado. Por exemplo:

Selecione o sinal (100.22) x1, sinal (-100.22) x2, sinal (0) x3

De dupla.

Uma característica interessante desse recurso é a possibilidade de transmitir m igual a zero - não surge os erros de divisão em 0.

Função de energia (n, m)

A função de energia constrói o número n no grau m. O grau pode ser fracionário e negativo, o que expande significativamente as capacidades desta função.

Selecione Power (10, 2) x1, energia (100, 1/2) x2,

Power (1000, 1/3) x3, energia (1000, -1/3) x4

De dupla.

X1. X2. X3. X4.
100 10 10 0,1

Em alguns casos, ao chamar esse recurso, uma exceção pode ocorrer. Por exemplo:

Selecione Power (-100, 1/2) x2

De dupla.

Nesse caso, uma tentativa é feita para calcular uma raiz quadrada de um número negativo, que levará a um erro de "argumento fora do intervalo de ORA-01428.

Função sqrt (n)

Esta função retorna uma raiz quadrada de N número. Por exemplo:

Selecione SQRT (100) x

De dupla.

Funções exp (n) e ln (n)

A função EXP erende e para o grau n, e a função LN calcula o logaritmo natural de N (com N, N deve ser maior que zero). Exemplo:

Selecione Exp (2) x1, LN (1) x2, LN (exp (2)) x3

Funções investidas que tocamos um pouco mais cedo, agora os consideramos um pouco mais de detalhes. Também consideraremos a função de trabalhar com o valor de NULL e as funções que ajudam a implementar a operação da filial na solicitação.

Funções aninhadas

Funções aninhadas Eu uso o valor retornado de uma função como o parâmetro de entrada para outra função. As funções sempre retornam apenas um valor. Portanto, você pode considerar o resultado da função da função como um valor literal quando você usá-lo como um parâmetro de chamada para outra função. As funções de linha podem ser anexadas a qualquer nível de nidificação. Chame uma função parece

Function1 (parameter1, parameter2, ...) \u003d resultado

Substituir o parâmetro de função chamar outra função pode levar à aparência de espécies

F1 (param1.1, f2 (param2.1, param2.2, f3 (param3.1)), param1.3)

No início, as funções aninhadas são calculadas antes que seus resultados sejam usados \u200b\u200bcomo valores de entrada para outras funções. As funções são calculadas a partir do nível mais profundo do aninhamento para a direita superior esquerda. A expressão anterior é executada da seguinte forma

  1. A figura F3 (param1) é calculada e o valor de retorno é usado como um terceiro parâmetro para a função 2, vamos chamá-lo de param2.3
  2. A função F2 é então calculada (param1, param2.2, param2.3) e o valor de retorno é usado como a segunda função Parâmetro F1 - param1.2.
  3. Finalmente, a função F1 (param1, param2, param1.3) é calculada e o resultado é retornado ao programa de chamada.

Assim, a função F3 está no terceiro nível de nidificação.

Considere o pedido

select_day (Last_day (Sysdate) -7, 'TUE') de Dual;

  1. Nesta consulta, três funções, a partir do nível inferior até o topo - Sysdate, Last_day, Next_day. A solicitação é executada da seguinte forma.
  2. A função de sysdate mais aninhada é realizada. Retorna o tempo atual do sistema. Suponha que a data atual 28 de outubro de 2009
  3. O resultado é o resultado da segunda função de nível Last_day. LAST_DATE ('28 -OXT-2009 ') Retorna o último dia de outubro de 2009, isto é, o valor de 31 de outubro de 2009.
  4. Em seguida, a subtração ocorre a partir desta data de sete dias - acaba em 24 de outubro.
  5. E finalmente, a função next_day ('24 -Oxt-2009 ',' TUE ') é calculada, e a solicitação retorna a última terça-feira de outubro - que no nosso exemplo 27 out 2009.

É muito difícil entender e construir expressões complexas usando muitos desafios anexados de funções, mas vem com o tempo e a prática. Você pode quebrar essas expressões na parte e teste separadamente. A Tabela Dual é muito útil para testar Z.Aprosov e os resultados da função da função. Você pode testar e depurar componentes pequenos, que combinam em uma grande expressão desejada.

Funções de ramo

Funções de ramo, também conhecidas como se algo - caso contrário, é usado para determinar o caminho de implementação, dependendo de quaisquer circunstâncias. As funções da ramificação retornam resultados diferentes com base em nenhum resultado de calcular a condição. O grupo de tais funções alocando funções de trabalhar com o valor de NULL: NVL, NVL2, Nullif e Coalesce. E também as características comuns representadas pela função decodificada e a expressão do caso. A função decodificada é uma função Oracle, enquanto a expressão do caso está presente no padrão ANSI SQL.

Recurso nvl.

A função NVL verifica o valor da coluna ou expressando qualquer tipo de dados para NULL. Se nulo - retornar um valor padrão não-nulo alternativo, caso contrário, o valor inicial será retornado.

A função NVL possui dois parâmetros necessários e a sintaxe NVL (original, IFNULL) onde o original é o valor original para verificação e resultado IFNULL retornado pela função se o valor original for nulo. O tipo de dados dos parâmetros IFNULL e originais deve ser compatível. Ou seja, o tipo de dados deve ser o mesmo ou deve ser a possibilidade de conversão implícita de valores de um tipo para outro. A função NVL retorna o valor do mesmo tipo de dados que o tipo de dados do parâmetro original. Considere três pedidos

Query 1: Selecione NVL (1234) de Dual;

Query 2: Selecione NVL (NULL, 1234) de Dual;

Query 3: Selecione NVL (Substr ('ABC', 4), 'Nenhuma substring existe') de dual;

Como as funções NVL exigem dois parâmetros, a consulta 1 retornará o erro ORA-00909: Número inválido de argumentos. O pedido 2 retornará 1234, pois o valor nulo é verificado e é nulo. Pergunta Três é usado a função de substrial aninhada que tenta selecionar o quarto caractere de uma string em três caracteres, retorna o valor nulo, e a função NVL retorna o string 'não existe do setor'.

A função NVL é muito útil quando se trabalha com números. É usado para converter valores nulos para 0 para operaçoes aritimeticas Nulls não retornou sobre números

Recurso nvl.2

A função NVL2 fornece mais funcional do que a NVL, mas também serve para processar o valor nulo. Ele verifica o valor da coluna ou expressões de qualquer tipo para nulo. Se o valor não for igual a NULL, o segundo parâmetro está envolvido, caso contrário, o terceiro parâmetro será retornado, ao contrário da função NVL, que neste caso retornará o valor inicial.

A função NVL2 tem três parâmetros necessários e sintaxe NVL2 (original, IFNOTNULL, IFNULL), onde o original é um valor válido, o valor IFNOTNull é retornado no caso original não é nulo e Ifnull retornado no caso se o original for nulo. Os tipos de dados de parâmetros IFNOTNULL e IFNULL devem ser compatíveis, e eles não podem ser digitados. O tipo de dados da função retornada NVL2 é igual ao tipo de dados do parâmetro IFNOTNULL. Considere alguns exemplos

Query 1: Selecione NVL2 (1234, 1, 'A String') de Dual;

Query 2: Selecione NVL2 (NULL, 1234, 5678) de Dual;

Query 3: Selecione NVL2 (Substr ('ABC', 2), 'não BC', 'No Substring') de Dual;

O parâmetro IFNOTNull na consulta 1 é o número, e o parâmetro IFNull é uma string. Como os tipos de dados são incompatíveis, o erro "ORA-01722: Number inválido" é retornado. Queue Dois Retorna o parâmetro IFNULL, já que o original é NULL e o resultado será 5678. A consulta três usa a função de substris que retorna 'BC' e ligue para NVL2 ('BC', 'não BC', 'No Substring') - que retorna Parâmetro IFNOTNULL - 'NÃO BC'.

Nullif função.

A função Nullif verifica dois valores para identidade. Se eles são os mesmos - null é devolvido, caso contrário, o primeiro parâmetro é retornado. A função Nullif possui dois parâmetros obrigatórios e sintaxe nullif (IFUEQUAL, COMPARESON_ITEM). A função compara dois parâmetros e se eles são idênticos - null é retornado, caso contrário, o parâmetro IFUEQUAL. Considere os pedidos

Query 1: Selecione Nullif (1234, 1234) de Dual;

A solicitação que se retorna, já que os parâmetros são idênticos. As linhas na consulta 2 não são convertidas até a data, mas são comparadas como linhas. Como linhas de diferentes comprimentos - retorna o parâmetro IFUEQUAL 24-JUL-2009.

Figura 10-4, a função Nullif é investida na função NVL2. Na função Nullif, por sua vez, as funções Substr e Superior são usadas como parte da expressão no parâmetro Ifunequal. A coluna de e-mail é comparada com esta expressão que retorna a primeira letra do nome, United com o sobrenome para funcionários que têm um nome em 4 caracteres. Quando esses valores são iguais, o Nullif retornará nulo, o valor do parâmetro IFUEQUAL retornará o valor. Esses valores são usados \u200b\u200bcomo um parâmetro para a função NVL2. NVL2, por sua vez, retorna a descrição de se os elementos compactáveis \u200b\u200bcoincidiram ou não.

Figura 10-4 - Usando a função Nullif

Coalescer função.

A função Coalesce retorna o primeiro valor não igual a nulo da lista de parâmetros. Se todos os parâmetros forem nulos, o nulo é retornado. A função Coalesce tem dois parâmetros necessários e quantos parâmetros opcionais e sintaxe de coalescer (expr1, expr2, ..., exprn) onde o resultado é expr1 se o valor do expr 1h , caso contrário, o resultado será expr2 se não é nulo , etc. A coalescência é igualmente em significado das funções da NVL

Coalescer (Expr1, Expr2) \u003d NVL (Expr1, Expr2)

Coalesce (Expr1, Expr2, Expr3) \u003d NVL (Expr1, NVL (Expr2, Expr3))

Valor de retorno do tipo de dados, se não o valor nulo nulo for igual ao tipo de dados do primeiro valor não nulo. Para evitar o erro 'ORA-00932: tipos de dados inconsistentes', todos os parâmetros não nulos devem ser compatíveis com o primeiro parâmetro não nulo. Considere três exemplos

Query 1: Selecione Coalesce (Null, Null, Null, 'A String') de Dual;

Consulta 2: Selecione Coalesce (Null, Null, Null) de Dual;

Query 3: Selecione Coalese (Substr ('ABC', 4), 'não BC', 'No Substring') de Dual;

Solicitar 1 Retorna o quarto parâmetro: string, como este é o primeiro parâmetro nulo. A consulta dois retorna null desde que todos os parâmetros são nulos. Solicitar 3 Calcula o primeiro parâmetro, obtém o valor nulo e retorna o segundo parâmetro, já que é o primeiro parâmetro não nulo.

Os parâmetros de função NVL2 podem confundir se você já estiver familiarizado com a função NVL. NVL (original, IFNULL) retorna o original se o valor não for nulo, caso contrário, Ifnull. NVL2 (original, IFNOTNULL, IFNULL) retorna IFNOTNULL se o valor original não for igual a nulo diferente da IFNULL. A confusão ocorre devido ao fato de que o segundo parâmetro da função NVL IFNULL, enquanto o NVL2 é IFNOTNULL. Portanto, não espere posicionar o parâmetro na função.

Decodificar recurso

A função decodificadora implementa a lógica do tempo e depois, verificando os dois primeiros parâmetros por igualdade e retornando o terceiro valor em caso de igualdade ou outro valor no caso de desigualdade. A função decodificada possui três parâmetros necessários e decodificação de sintaxe (expr1, comp1, iftrue1 ,,). Esses parâmetros são usados \u200b\u200bconforme mostrado no seguinte exemplo de pseudo-código.

Se expr1 \u003d comp1, retorne Iftrue1

Mais se expr1 \u003d comp2, então retorne iftrue2

Mais se exprn \u003d compn, então retorne Iftruen

Mais retorna null | iffalse;

No início, o Expr1 é comparado com o comp1. Se eles são iguais ao valor do IFTRUE1. Se o Expr1 não for igual ao Comp1, o que acontece depende mais se os parâmetros do Comp2 e IFTrue2 são especificados. Se os conjuntos estiverem definidos, o valor EXPR1 será comparado com o comp2. Se os valores forem iguais, o iftrue2 será retornado. Se não, se houver pares de parâmetros compn, o IFTUEN comparará Expr1 e Compn e se o Ifstruão for devolvido no caso da igualdade. Se não houvesse coincidência em qualquer conjunto de parâmetros, ele é retornado se, se este parâmetro estiver definido ou nulo.

Todos os parâmetros na função decodificam podem ser expressões. O tipo de valor retornado é igual ao tipo do primeiro elemento de verificação - o parâmetrocOMP 1. Expressão Expr 1 implicitamente convertido para o tipo de dados do parâmetro comp1. Todas as outras opções de Comp Disponíveis1 ... compn. Também implicitamente convertido para o tipo de comp1. Decode considera o valor nulo como igual a outro valor nulo, isto é. Se o Expr1 for NULL e o COMP3 for NULL, e o Comp2 não é nulo, o valor IFTRUE3 será retornado. Considere alguns exemplos

Consulta 1: Selecione Decode (1234, 123, '123 é um jogo') de dual;

Query 2: Select Decode (1234, 123, '123 é um jogo', 'no jogo') de dupla;

Query 3: Selecione Decode ('Pesquisa', 'Comp1', 'True1', 'Comp2', 'True2', 'Pesquisa', 'True3', Substr ('True4', 'True4', 'True4' falso ') de dual;

O pedido que se compara ao valor de 1234 e 123. Como eles não são iguais, o iFtrue1 é ignorado e, como não é definido se o NULL for retornado. A consulta é idêntica à consulta 1, a exceção de que o valor IFFALSE é definido. Desde 1234 não é igual a 123, o IFFALSE é retornado - "sem jogo". A consulta três verifica os valores dos parâmetros em corresponder ao valor da pesquisa. Os parâmetros da Comp1 e Comp2 não são iguais a "pesquisa", portanto, os resultados do IFTURE1 e IFTrue2 são ignorados. A coincidência é encontrada na terceira comparação de comparação do elemento Comp3 (posição do parâmetro 6) e o valor IFTRUE3 (parâmetro 7) é retornado que é 'TRUE3'. Como a coincidência é encontrada mais cálculos não são feitos. Ou seja, apesar do fato de que o valor da Comp4 (parâmetro 8) também coincide com o Expr1 - essa expressão nunca é calculada desde que a coincidência foi encontrada na comparação anterior.

Expressão de caso

Todas as linguagens de programação de terceira e quarta geração implementam o design do caso. Como a função decodificada, a expressão do caso permite implementar a lógica se - então-else. Duas opções para usar a expressão do caso estão disponíveis. A expressão de caixa simples define o elemento de origem para comparar uma vez e, em seguida, lista todas as condições de verificação necessárias. Caso complexo (pesquisado) calcula ambos os operadores para cada condição.

A expressão do caso tem três parâmetros obrigatórios. A sintaxe da expressão depende do tipo. Para um simples caso de expressão, ele parece

Caso Search_Expr.

Quando comparação_expr1, então iftrue1

}