GPO ( Grupo de Profissionais Oracle )
A maior comunidade Oracle do Brasil !

OCA Oracle Database 11g: SQL Fundamentos I [1Z0-051] – Parte V

Bom pessoal, hoje vamos direto ao ponto, nosso estudo de hoje será sobre:

Using Conversion Functions and Conditional Expressions

(Usando Funções de Conversão e Expressões Condicionais)

Describe Various Types of Conversion Functions Available in SQL

(Descrever Vários Tipos de Funções de Conversão Disponíveis em SQL)

Use the TO_CHAR, TO_NUMBER and TO_FATE Conversion Functions

(Usar as Funções de Conversão TO_CHAR, TO_NUMBER e TO_DATE)

Apply Conditional Expression in a SELECT Staterment

(Aplicando Expressões Condicionais em uma Instrução SELECT)

Descrever Vários Tipos de Funções de Conversão Disponíveis em SQL

Funções de conversão são funções de linha única designadas para alterar a natureza de um  tipo de dado do valor de uma coluna, expressão ou literal.

  • Funções de Conversão

Oracle permite que as colunas sejam definidas com tipos de dados ANSI, DB@ e SQL/DS. Estes são convertidos internamente para tipos de dados do Oracle. Esta abordagem permite que as aplicações escritas para outros bancos de dados serem migrados para o Oracle com facilidade.

Uma coluna NUMBER não pode armazenar caracterios. Uma coluna DATE não pode armazenar qualquer caracterio ou número. Enquanto isso, o caracterio equivalente de ambos número e data pode ser aramazenado em um campo VARCHAR2. DATE e NUMBER são tipos de dados muito restritos comparado com VARCHAR2 e CHAR.

  • Conversão Implícita de Tipo de Dado

Valores que não compartilhar tipos de dados idênticos com parâmetros de função são implicitamente convertidos para o formato requerido se possível. É incomum para dados de caracteres ser implicitamente convertidos em tipos de dados numéricos desde que, a única condição em que isso ocorre, é se os dados representam um número válido.

Conversões implícitas de caracterios para data são possíveis quando a cadeia de caracteres em conformidade com os padrões de data a seguir: [D|DD] separador 1 [MON|MONTH] separador 2 [R|RR|YY|YYYY].

  • Conversão Explicita de Tipo de Dado

Oracle oferece mutas funções para converter itens de um tipo de dado para outro, conhecidos como funções de conversão explicita de tipo de dado. Itens NUMBER e DATE podem ser convertidos explicitamente para itens caracterios usando a função TO_CHAR. Um caracterio pode ser explicitamente mudado para um NUMBER usando a função TO_NUMBER. A função TO_DATE é usada para converter caracterio em um item DATE.

Usar as Funções de Conversão TO_CHAR, TO_NUMBER e TO_DATE

  • Usando Funções de Conversão

Parâmetros opcionais de suporte ao idioma nacional são úteis para especificar o idioma e o formato em que os nomes de data e elementos numéricos são devolvidos. Exemplos: NLS_SESSION_PARAMETERS e NLS_CURRENCY.

ALTER SESSION set NLS_CURRENCY=’GBP’;

1. Convertendo Números para Caracterios Usando a Função TO_CHAR

A função TO_CHAR retorna um item do tipo de dado VARCHAR2; A sintaxe é a seguinte:

TO_CHAR(number 1, [format], [nls_parameter])

O parâmetro opcional format pode ser usado para especificar informações de formatação numérica como a largura, símbolo de moeda, a posição de um ponto decimal e grupo (ou milhares) separadores e deve ser colocada entre aspas simples.

2. Convertendo Datas para Caracterios Usando a Função TO_CHAR

Você pode tirar proveito de uma variedade de modelos de formato para converter itens de data em praticamente qualquer representação de caracteres de uma data usando TO_CHAR. Sua sintaxe é a seguinte: TO_CHAR(date 1, [format], [nls_parameter]). O parâmetro opcional format é case sensitivo e deve ser colocado entre aspas simples.

3. Convertendo Caracterios para Datas Usando a Função TO_DATE

A função TO_DATE retorna um item do tipo DATE. A sintaxe é a seguinte: TO_DATE(string 1, [format], [nls_parameter]). O parâmetro opcional format é case sensitivo e deve ser colocado entre aspas simples. A função TO_DATE é usada em uma cláusula WHERE para limitar as linhas retornadas.

4. Convertendo Caracterios para Números Usando a Função TO_NUMBER

A função TO_NUMBER retorna um item do tipo NUMBER. Cadeias de caracteres convertidos em números devem ser adequadamente formatados de modo que todos os componentes não numéricos são traduzidos ou arrancada com uma máscara de formato apropriado. A sintaxe é: TO_NUMBER(string 1, [format], [nls_parameter]). O parâmetro opcional format é case sensitivo e deve ser colocado entre aspas simples.

Aplicando Expressões Condicionais em uma Instrução SELECT

  • Funções Aninhadas

Funções Aninhadas usam a saída de uma função como parâmetro de entrada em outra. A forma geral de um função é a seguinte: Function(parameter 1, parameter2,…) = result1. Substituindo na função chamada os parâmetros por outra função, ficando da seguinte maneira:

F1(poram1.1, F2(para2.1,para2.2, F3(para3.1), param1.3)

  • Funções Gerais

Funções Gerais simplificam trabalhar com colunas que potencialmente contenham valores null. Estas funções aceitam parâmetros de todos os tipos de dados.

1. A Função NVL

A função NVL verifica se uma coluna ou expressão de qualquer tipo de dado é nula ou não. A sintaxe é NVL(original, ifnull), onde original representa o termo inicialmente testado e ifnull é o resultado retornado se o termo original for nulo.

2. A Função NVL2

A função NVL2 fornece um reforço para NVL mas servem a propósitos muito similares. Avalia se uma coluna ou expressão de qualquer tipo de dado é nula ou não. Se o primeiro termo não é nulo, o segundo parâmetro é retornado se não o terceiro é retornado. A sintaxe é a seguinte: NVL2(orginal, ifnotnull, ifnull). O tipo de dado dos parâmetros ifnotnull e ifnull devem ser compatíveis e não podem ser do tipo LONG.

3. A Função NULLIF

A função NULLIF testa se dois termos sãõ iguais. Se ele são iguais a função retorna um nulo (null) caso não seja ela ira retornar o primeiro dos dois termos testados. A sintaxe é: NULLIFF(ifunequal, comparison_term).

4. A Função COALESCE

A função COALESCE retorna o primeiro valor não nulo de uma lista de parâmetros. Se todos os parâmetros são nulos , um nulo (null) é retornado. A sintaxe é: COALESCE(expr1, expr2, …, exprn).

  • Funções Condicionais

1. A Função DECODE

A função DECODE implementa uma lógica condicional if-then-else para testar seus dois primeiros termos são iguais e retornar o terceiro se ele forem e opcionalmente retorna outro termo se ele não for. A sintaxe é DECODE(expr1, comp1, iftrue1, [comp2, iftrue2…[compN, iftrueN]], [iffalse]).

2. A Expressão CASE

Existem duas variantes da expressão CASE. A expressão CASE simples lista o item de pesquisa condicional uma vez e a igualdade para o item de pesquisa é testada por cada menção de comparação. A expressão CASE simples é fechada dentro de um block CASE…END e consiste de pleo menos uma instrução WHEN…THEN. A sintaxe é:

CASE search_expr

    WHEN comparison_expr1 THEN iftrue1

    [WHEN comaprison_expr2 THEN iftrue2

    …

    WHEN comparison_exprN THEN iftrueN

    ELSE iffalse]

END

A expressão CASE pesquisada é a segunda variação e ela enumera uma condição separada para cada expressão de comparação. A sua sintaxe é a seguinte:

CASE

    WHEN condition1 THEN iftrue1

    [WHEN conditional2 THEN iftrue2

    ….

    WHEN conditionalN THEN iftrueN

    ELSE iffalse]

END

Ótimo pessoal conseguimos alcançar mais um dos objetivos da certificação, aguardo vocês nos próximos, um abraço e bons estudos a todos.

Share

You may also like...

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *