Oracle PL/SQL MAX Function

Exemplo prático;

Criando a tabela de funcionário.

<pre lang="sql" escaped="true">
create table FUNCIONARIO

(
NM_FUNCIONARIO VARCHAR2(150),
NR_CHAPA       NUMBER,
DT_CONTRATACAO DATE
)

</pre>

 

oracle_max_tb_funcionario

Exemplo de uso da função max para obter o maior número de chapa.

max

Tabela onde está os valores  salários e competências

<pre lang=’sql’ line=’1′>

create table BENTO.FUNC_SALARIO
(
DT_COMPETENCIA     DATE,
DT_INICIO_VIGENCIA DATE,
DT_FIM_VIGENCIA    DATE,
NR_CHAPA           NUMBER,
VL_SALARIO         NUMBER(15,2)
)

</pre>

 

max_salario

Imaginando uma situação onde é necessário demonstrar o salário em vigência atual.

<pre lang=’sql’ line=’1′>

select
a.NM_FUNCIONARIO
, a.nr_chapa
, b.VL_SALARIO
from
bento.funcionario a
, bento.func_salario b
where a.nr_chapa = b.NR_CHAPA
and b.dt_competencia = ( select max(c.DT_COMPETENCIA)
from bento.func_salario c
where c.NR_CHAPA  = b.nr_chapa
)

</pre>

 

max-maior-salario Situação onde é necessário demonstrar o valor de salário atual e o salário anterior.

valor-salario-anteior

 

 

MINUS

Ele verifica a combinação dos resultados com o operador MINUS e retorna somente as linhas únicas referente e primeira consulta.
— Create table
create table FABIANO_A
(
cd_pessoa_fisica NUMBER not null,
nm_pessoa        VARCHAR2(200) not null,
dt_nascimento    DATE,
nr_cpf           NUMBER(15),
nr_rg            VARCHAR2(15),
st_sexo          VARCHAR2(1)
)
tablespace FABIANO_DATA
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);

— Create table
create table FABIANO_B
(
cd_pessoa_fisica NUMBER not null,
nm_pessoa        VARCHAR2(200) not null,
dt_nascimento    DATE,
nr_cpf    

Oracle/PLSQL: Função TO_CHAR
Sintaxe da função;

TO_CHAR( value, [ format_mask ], [ nls_language ] )

exemplo com datas
TO_CHAR(sysdate, ‘yyyy/mm/dd’); retorno ‘2003/07/09’
TO_CHAR(sysdate, ‘Month DD, YYYY’); retorno ‘July 09, 2003’
TO_CHAR(sysdate, ‘FMMonth DD, YYYY’); retorno ‘July 9, 2003’
TO_CHAR(sysdate, ‘MON DDth, YYYY’); retorno ‘JUL 09TH, 2003’
TO_CHAR(sysdate, ‘FMMON DDth, YYYY’); retorno ‘JUL 9TH, 2003’
TO_CHAR(sysdate, ‘FMMon ddth, YYYY’); retorno ‘Jul 9th, 2003’

http://www.techonthenet.com/oracle/functions/to_char.php