Saliento que para recuperar o maior e menor valores em colunas de uma tabela, devem ser utilizadas as funções de agregação MAX e MIN, respectivamente.
* Exemplos
1 - Exemplo básico
SELECT GREATEST(1,2);
2 - Exemplo básico com três parâmetros
SELECT GREATEST(1,2, 3, 4);
3 - Exemplo básico com datas
SELECT GREATEST(current_date,current_date + 10);
4 - Exemplo básico com cálculo simples
SELECT GREATEST(1*2,2*1);
5 - Exemplo com valor nulo ignora o nulo
SELECT GREATEST(10,11,null);
6 - Exemplo gerando valor nulo
SELECT GREATEST(null,null);
7- Exemplo com dados textuais
SELECT GREATEST('ANA','CLA','AVA');
8 - Exemplo com timestamps
SELECT GREATEST(timestamp '2014-04-02 14:30:00', timestamp '2014-04-02 14:30:01');
9 - Exemplos do uso de LEAST
SELECT LEAST(1,2, 3, 4);
SELECT LEAST(current_date,current_date + 10);
SELECT LEAST(1*2,2*1);
SELECT LEAST(10, 11, null);
SELECT LEAST('ANA','CLA','AVA');
SELECT LEAST(timestamp '2014-04-02 14:30:00', timestamp '2014-04-02 14:30:01');
SELECT LEAST(current_date,current_date + 10);
SELECT LEAST(1*2,2*1);
SELECT LEAST(10, 11, null);
SELECT LEAST('ANA','CLA','AVA');
SELECT LEAST(timestamp '2014-04-02 14:30:00', timestamp '2014-04-02 14:30:01');
10 - Exemplo de comparação entre campos de uma mesma tabela
CREATE TEMP TABLE NOTA (codigo REAL, nota1 REAL, nota2 REAL, nota3 REAL);
INSERT INTO NOTA VALUES (1,10,9,8);
INSERT INTO NOTA VALUES (2,9.5,8,8.5);
INSERT INTO NOTA VALUES (3,1,2,3);
SELECT codigo, GREATEST(nota1, nota2, nota3) AS MAIOR_NOTA, LEAST(nota1, nota2, nota3) AS MENOR_NOTA FROM NOTA;
INSERT INTO NOTA VALUES (1,10,9,8);
INSERT INTO NOTA VALUES (2,9.5,8,8.5);
INSERT INTO NOTA VALUES (3,1,2,3);
SELECT codigo, GREATEST(nota1, nota2, nota3) AS MAIOR_NOTA, LEAST(nota1, nota2, nota3) AS MENOR_NOTA FROM NOTA;
Nenhum comentário:
Postar um comentário