Funções Uteis do Oracle
Autor: Guela | Publicado: 2010-09-21T09:41:00-03:00

INSTR
Pesquisa a posição de um caracter dentro de uma string. A função retorna um inteiro indicando a posição do primeiro caractere localizado na string.
ModernoPapo.com.br&gt; SELECT INSTR(‘THIS IS A TEST’, ‘IS’) FROM DUAL;
INSTR(‘THISISATEST’,'IS’)
————————-
3
ModernoPapo.com.br&gt; SELECT INSTR(‘THIS IS A TEST’, ‘IS’, 1, 2) FROM DUAL;
INSTR(‘THISISATEST’,'IS’,1,2)
—————————–
6

SUBSTR
Utilizamos esta função quando queremos obter parte de uma string.
ModernoPapo.com.br&gt; SELECT SUBSTR(‘My address is 123 Fourth St.’, 1, 12) FROM Dual;
SUBSTR(‘MYADDRESSIS123FOURTHST
——————————
My address i

3. REPLACE
Esta função substitui um grupo de caracteres por outro, dentro de uma determinada string.
ModernoPapo.com.br&gt; SELECT REPLACE(‘This is a test’, ‘ is ‘, ‘ may be ‘) FROM dual;
REPLACE(‘THISISATEST’,'IS’,'MA
——————————
This may be a test

4. TRIM
Remove os espaços em branco – tanto no início quanto no final – de uma string. Uma observação importante é que esta função não remove os espaços duplos existentes no meio da string.
ModernoPapo.com.br&gt; SELECT TRIM(‘ This string has leading and trailing&nbsp;&nbsp; spaces&nbsp;&nbsp; ‘) FROM dual;
TRIM(‘THISSTRINGHASLEADINGANDT
———————————————
This string has leading and trailing&nbsp;&nbsp; spaces

5. LPAD
Acrescenta um conjunto específico de caracteres ao lado ESQUERDO de uma string.
ModernoPapo.com.br&gt; SELECT LPAD(‘Column’, 15, ‘.’) FROM dual;
LPAD(‘COLUMN’,15,’.')
———————
………Column

6. RPAD
Acrescenta um conjunto específico de caracteres ao lado DIREITO de uma string.
ModernoPapo.com.br&gt; SELECT RPAD(‘Letters’, 20, ‘.’) FROM dual;
RPAD(‘LETTERS’,20,’.')
———————-
Letters………….

7. TRANSLATE
Substitui uma seqüência de caracteres em uma string com um outro conjunto de caracteres. No entanto, é importante destacar que ele substitui um único caractere de cada vez.
ModernoPapo.com.br&gt; SELECT TRANSLATE(‘Mississippi’, ‘s’, ‘S’) FROM dual;
TRANSLATE(‘MISSISSIPPI’,'S’,'S
——————————
MiSSiSSippi

8. MEDIAN
Função analítica que retorna a mediana (função de distribuição inversa, que assume uma distribuição contínua modelo). Retorna um valor numérico ou datetime e retorna o valor médio ou valor interpolado que seria o valor médio, uma vez que os valores são classificados. Nulos são ignorados no cálculo.
Seja:
ID_PACIENTE&nbsp;&nbsp;&nbsp; NOME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IDADE
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Joao Silva&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 50
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Jose Souza&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30
3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Maria Faria&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 50
4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Antonia Xavier&nbsp;&nbsp; 65
SELECT AVG(IDADE), MEDIAN(IDADE)
FROM FAT_LINFOMA LI, DIM_PACIENTE PAC
WHERE LI.ID_PACIENTE = PAC.ID_PACIENTE;
Temos:
AVG(IDADE)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MEDIAN(IDADE)
49&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 50

9. GREATEST
Função que irá retornar o maior valor de uma lista. Não confundir com MAX.
greatest(2, 5, 12, 3) -&gt; retorna 12
greatest(’2′, ’5′, ’12′, ’3′) -&gt; retorna ’5′
greatest(‘apples’, ‘oranges’, ‘bananas’) -&gt; retorna ‘oranges’
greatest(‘apples’, ‘applis’, ‘applas’) -&gt; retorna ‘applis’

10. LEAST
Esta função é utilizada para retornar o menor valor de uma lista. Não confundir que MIN.
least(2, 5, 12, 3) -&gt; retorna 2
least(‘apples’, ‘oranges’, ‘bananas’) -&gt; retorna ‘apples’
least(‘apples’, ‘applis’, ‘applas’) -&gt; retorna ‘applas’
least(‘apples’, ‘applis’, ‘applas’, null) -&gt; retorna NULL