Olá pessoal…
Hoje irei mostrar alguns dos principais comandos em Oracle (versão 11g utilizada) para manipulação de dados, como funções do tipo TO_CHAR.
01) TO_CHAR
Converte valores em texto, o || serve para concatenar strings
SELECT ‘R$ ‘ || TO_CHAR(12.7+13.5) AS PRECOFROM DUAL; |
Pode se também converter datas
SELECT TO_CHAR(SYSDATE,‘DD/MM/YYYY HH24:MI:SS D DY DAY’) AS HOJEFROM DUAL; |
02) TO_DATE
Converte texto em Data-Hora
SELECT TO_DATE(’21/08/2013 14:30:00′, ‘DD/MM/YYYY HH24:MI:SS’) AS DIAFROM DUAL; |
03) TO_NUMBER
Converte texto em número
SELECT TO_NUMBER(‘34,47’) AS VALORFROM DUAL; |
04) INITCAP
Deixa o primeiro caracter da string em maiúsculo
SELECT INITCAP(‘DANIEL ATILIO’) AS NOMEFROM DUAL; |
05) LOWER
Deixa todos os caracteres da string em minúsculo
SELECT LOWER(‘DANIEL ATILIO’) AS NOMEFROM DUAL; |
06) UPPER
Deixa todos os caracteres da string em maiúsculo
SELECT UPPER(‘daniel atilio’) AS NOMEFROM DUAL; |
07) LPAD
Adiciona caracteres a esquerda com um tamanho definido, ou quebra a string atual com um tamanho pré-determinado
SELECT LPAD(‘Daniel’,3) AS APELIDOFROM DUAL; |
Abaixo um exemplo utilizando traço
SELECT LPAD(‘Daniel’,7,‘-‘) AS NOMEFROM DUAL; |
08) RPAD
Adiciona caracteres a direita com um tamanho definido, ou quebra a string atual com um tamanho pré-determinado
SELECT RPAD(‘Daniel’,3) AS APELIDOFROM DUAL; |
Abaixo um exemplo utilizando traço
SELECT RPAD(‘Daniel’,7,‘-‘) AS NOMEFROM DUAL; |
09) LTRIM
Retira espaços da esquerda da string
SELECT LTRIM(‘ Daniel ‘) AS NOMEFROM DUAL; |
10) RTRIM
Retira espaços da direita da string
SELECT RTRIM(‘ Daniel ‘) AS NOMEFROM DUAL; |
11) TRIM
Retira espaços da esquerda e da direita da string
SELECT TRIM(‘ Daniel ‘) AS NOMEFROM DUAL; |
12) SUBSTR
Pega uma parte da string, uma substring, através da posição inicial e do total de caracteres
SELECT SUBSTR(‘Daniel Atilio’,8,6) AS SOBRENOMEFROM DUAL; |
13) INSTR
Retorna a posição da substring procurada, conforme posição inicial e o número de vezes encontrado
SELECT INSTR(‘DANIEL ATILIO’,‘I’,1,2) AS NOMEFROM DUAL; |
14) REPLACE
Troca uma parte da string por outra
SELECT REPLACE(‘DANIEL ATILIO’,‘ATILIO’,‘HUDSON’) AS NOMEFROM DUAL; |
15) TRANSLATE
Traduz uma String, conforme caracteres buscados e suas respectivas conversões
SELECT TRANSLATE(‘DANIEL ATILIO’, ‘AIOED’, ‘4103>’) AS TRADUCAOFROM DUAL; |
16) LENGTH
Retorna o tamanho da String
SELECT LENGTH(‘DANIEL ATILIO’) AS TAMANHOFROM DUAL; |
17) ABS
Retorna o valor absoluto do número
SELECT ABS(-37.42) AS ABSOLUTOFROM DUAL; |
18) CEIL
Retorna o maior número inteiro através de um número passado
SELECT CEIL(5.99) AS INTEIROFROM DUAL; |
Também é possível utilizar com números negativos
SELECT CEIL(-5.30) AS INTEIROFROM DUAL; |
19) FLOOR
Retorna o menor número inteiro através de um número passado
SELECT FLOOR(5.99) AS INTEIROFROM DUAL; |
Também é possível utilizar com números negativos
SELECT FLOOR(-5.30) AS INTEIROFROM DUAL; |
20) MOD
Retorna o resto de uma divisão
SELECT MOD (15,4) AS RESTOFROM DUAL; |
21) TRUNC
Retorna um valor truncado com casas decimais
SELECT TRUNC(125.8154, 2) AS VALORFROM DUAL; |
22) SYSDATE
Retorna o dia atual
SELECT SYSDATE AS HOJEFROM DUAL; |
23) POWER
Retorna um valor em sua potencia, por exemplo 2 elevado a 5
SELECT POWER(2,5) AS POTENCIAFROM DUAL; |
24) SQRT
Retorna a raíz quadrada de um valor
SELECT SQRT(144) AS RAIZFROM DUAL; |
25) ROUND
Retorna um valor arredondado, conforme casas decimais passadas por referência
SELECT ROUND(15.194,1) AS ARREDONDADOFROM DUAL; |
Abaixo um exemplo com duas casas decimais
SELECT ROUND(15.194,2) AS ARREDONDADOFROM DUAL; |
26) LAST_DAY
Retorna o último dia do mês corrente
SELECT LAST_DAY(SYSDATE) AS ULTIMO_DIAFROM DUAL; |
27) NEXT_DAY
Retorna o próxima dia conforme parâmetros (por exemplo, a próxima terça-feira)
SELECT NEXT_DAY(’22-AGO-2013′,‘TERCA-FEIRA’) AS PROXIMO_DIAFROM DUAL; |
28) ADD_MONTHS
Retorna a data somando um número de meses
SELECT ADD_MONTHS(SYSDATE,2) AS DOIS_MESESFROM DUAL; |
29) MONTHS_BETWEEN
Retorna a quantidade de meses entre duas datas
SELECT MONTHS_BETWEEN (’22/08/2013′, ’22/12/2013′ ) AS ENTREFROM DUAL; |
30) DECODE
Semelhante ao IF/ELSE, onde é testado um bloco de código, os possíveis resultados, e as strings que serão mostradas
SELECT DECODE(TRUNC (10/5),0, ‘ 0/5 = 0’,1, ‘ 5/5 = 1’,
2, ’10/5 = 2′, ‘OUTRO’) AS RESULTADO FROM DUAL; |
31) NVL
Se a string estiver vazia, retorna um texto passado por parâmetro
SELECT NVL(”,‘STRING VAZIA’) AS RESULTADOFROM DUAL; |
Abaixo um exemplo com string não vazia
SELECT NVL(‘DANIEL’,‘STRING VAZIA’) AS RESULTADOFROM DUAL; |
Bom pessoal, por hoje é só.
Abraços e até a próxima.