Conhecendo o PL/SQL Introduzida em 1988 na versão 6.0 do SGBD Oracle, A linguagem PL/SQL (Procedural Language extensions to SQL) faz parte do conjunto de tecnologias da Oracle e tem como missão tornar possível a construção de aplicações eficientes através da manipulação grandes volumes de dados, que demonstra grande eficiência com a integração com a linguagem SQL no ambiente Oracle....
Leia Mais
O que é uma Variável Uma variável é um objeto que pode conter um único valor de dados de um tipo específico que são armazenadas para serem manipuladas em nossos programas, com a finalizada de ajudar no processamento de um dado para se obter uma informação mais "refinada....
Leia Mais
Descrição: Estas são algumas das primcipais funções do Oracle para tratamento e formatação de data e hora, formatação de números e manipulação de caracteres, e seus respctivos exemplos de uso e aplicações práticas em consultas SQL para cada função. Funções de Data e Hora TO_DATE(string): Converte uma string em uma data. SELECT TO_DATE('2006-07-17 12:15:45', 'yyyy-mm-dd hh24:mi:ss')+1 FROM dual; SELECT SYSDATE: Retorna a data e hora atuais do sistema. SELECT SYSDATE FROM DUAL; ADD_MONTHS(SYSDATE,1): Adiciona meses a uma data. SELECT ADD_MONTHS(SYSDATE, 1) FROM DUAL; CURRENT_DATE: Retorna a data e hora atuais do sistema na sessão do usuário. SELECT CURRENT_DATE FROM DUAL; LAST_DAY(SYSDATE): Retorna o último dia do mês de uma data. SELECT LAST_DAY(SYSDATE) FROM DUAL; MONTHS_BETWEEN('31/01/2009','31/01/2010'): Calcula a diferença em meses entre duas datas. SELECT MONTHS_BETWEEN('31/01/2009', '31/01/2010') TOT_MESES FROM DUAL; TRUNC(SYSTIMESTAMP AT TIME ZONE 'America/Sao_Paulo' -30): Trunca uma data ou timestamp para um valor específico. SELECT TRUNC(SYSTIMESTAMP AT TIME ZONE 'America/Sao_Paulo' -30) FROM DUAL; EXTRACT(YEAR|MONTH|DAY|HOUR|MINUTE|TIMEZONE FROM DATE|TIMESTAMP): Extrai partes de uma data ou timestamp.Extrai partes de uma data ou timestamp. SELECT EXTRACT(YEAR FROM DATE '2012-05-01') FROM dual; SELECT EXTRACT(MONTH FROM DATE '2012-05-01') FROM dual; SELECT EXTRACT(DAY FROM DATE '2012-05-01') FROM dual; SELECT EXTRACT(YEAR FROM SYSDATE) FROM dual; SELECT EXTRACT(MONTH FROM SYSDATE) FROM dual; SELECT EXTRACT(DAY FROM SYSDATE) FROM dual; SELECT EXTRACT(YEAR FROM SYSTIMESTAMP) FROM dual; SELECT EXTRACT(MONTH FROM SYSTIMESTAMP) FROM dual; SELECT EXTRACT(DAY FROM SYSTIMESTAMP) FROM dual; SELECT EXTRACT(HOUR FROM SYSTIMESTAMP) FROM dual; SELECT EXTRACT(MINUTE FROM SYSTIMESTAMP) FROM dual; SELECT EXTRACT(SECOND FROM SYSTIMESTAMP) FROM dual; SELECT EXTRACT(TIMEZONE_HOUR FROM SYSTIMESTAMP) FROM dual; SELECT EXTRACT(TIMEZONE_MINUTE FROM SYSTIMESTAMP) FROM dual; SELECT EXTRACT(TIMEZONE_REGION FROM SYSTIMESTAMP) FROM dual; SELECT EXTRACT(TIMEZONE_ABBR FROM SYSTIMESTAMP) FROM dual; Funções de Formatação de Números TO_CHAR(número): Converte um número em uma string com formato específico. SELECT TO_CHAR(sal, '$999,999.99') FROM emp; TO_NUMBER(string) : Converte uma string em um número. SELECT empno, ename, job, sal FROM emp WHERE sal > TO_NUMBER('1500'); MASCARA_NUMERO: Aplica uma máscara de formato a um número. SELECT TO_CHAR(1234, '999') FROM dual; Funções de Manipulação de Caracteres CHR(v1): Retorna o caractere correspondente ao código ASCII especificado. SELECT CHR(49) AS "CHR(49)", CHR(97) AS "CHR(97)", CHR(38) AS "CHR(38)" FROM dual; NVL(v1,v2): Substitui valores nulos por um valor especificado. SELECT sal, comm, sal * 14 + NVL(comm, 0) FROM emp; GREATEST(v1,v2,v3): Retorna o maior valor entre os argumentos fornecidos. SELECT GREATEST(1, 2), GREATEST(1, 2, 3), GREATEST(1, 2, 3, 4) FROM dual; Funções Condicionais DECODE(v, v1, r1, v2, r2, r_default): Compara um valor com uma lista de valores e retorna o resultado correspondente. SELECT grade, DECODE (grade, 1, '15%', 2, '10%', 3, '8%', '5%') "Bonus" FROM salgrade; SELECT ename, job, DECODE(job, 'CLERK', 'Empregado de escritório', 'ANALYST', 'Analista programador', 'MANAGER', 'Gestor', 'SALESMAN', 'Vendedor', 'PRESIDENT', 'Presidente', 'UNKNOWN') "Job2" FROM emp; CASE: Executa expressões condicionais mais complexas, permitindo comparações com operadores lógicos. SELECT ename, job, CASE WHEN job = 'CLERK' THEN 'Empregado de escritório' WHEN job = 'ANALYST' THEN 'Analista programador' WHEN job = 'MANAGER' THEN 'Gestor' WHEN job = 'SALESMAN' THEN 'Vendedor' WHEN job = 'PRESIDENT' THEN 'Presidente' ELSE 'Outra função' END AS "Função" FROM emp; SELECT sal, CASE WHEN sal < 800 THEN 'baixo' WHEN sal < 1500 THEN 'médio' WHEN sal < 2500 THEN 'médio alto' ELSE 'alto' END AS Salario FROM emp; ...
Leia Mais