Este documento apresenta as principais categorias de funções no SQL: manipulação de datas e horas, strings, números e controle de fluxo. Essas funções permitem personalizar a apresentação e manipulação de dados em consultas SQL. Algumas funções de datas incluem Date_Format e Month, enquanto Upper e Concat são exemplos de funções de strings.
1. Banco de Dados
Aula 6 – Structured Query Language
SQL – Funções
Instrutor Rafael Albani
2. Conteúdo
● Funções
● Manipulação de datas e horas
● Manipulação de strings
● Manipulação de números
● Controle de fluxo
3. Funções
● São recursos fornecidos pelo MySQL para
manipulação de dados em consultas SQL;
● Permitem a apresentação de dados de
uma forma personalizada e de acordo
com a necessidade requerida em uma
situação;
4. Funções
● Podem ser divididas em 4 grandes
categorias:
– Manipulação de datas e horas;
– Manipulação de strings;
– Manipulação de números;
– Controle de fluxo.
5. Manipulação de datas e horas
● As funções de manipulação de datas e
horas permitem a recuperação de datas
em determinados formatos, apenas o ano
de uma data ou apenas os minutos de um
determinado horário, entre outras
possibilidades.
6. Manipulação de datas e horas
● Algumas funções:
– Date_Format(<data>,<formato>);
– Day(<data>);
– Month(<data>);
– Year(<data>);
– Hour(<hora>);
– Minute(<hora>);
– Second(<hora>).
7. Manipulação de strings
● As funções de manipulação de strings
permitem a modificação de strings;
● Como por exemplo, retornar todos os
caracteres de uma string em maiúsculo ou
em minúsculo, concatenar duas strings,
etc.
9. Manipulação de números
● As funções de manipulação de números
permitem a modificação de números e
também a realização de operações
matemáticas;
● Como por exemplo, retornar um número
com casas decimais com uma vírgula ao
invés de um ponto separando as casas
decimais, elevar um número a uma
determinada potência, etc.
10. Manipulação de números
● Algumas funções:
– Pow(<número>,<potência>);
– Round(<número>);
– Format(<número>,<casas_decimais>);
– Sqrt(<número>);
– Truncate(<número>,<casas_decimais>).
11. Controle de fluxo
● São funções que permitem o controle do
fluxo de uma determinada operação;
● Utilizadas quando existe a necessidade
de verificar uma condição em particular,
para então retornar o valor de uma
determinada consulta.
12. Controle de fluxo
● As duas principais funções de controle de
fluxo são:
– Case;
– If.
13. Controle de fluxo - Case
● Semelhante a estrutura Case encontrada
em linguagens de programação;
● Permite que a partir do valor de um
campo, um conjunto de valores em
particular possa ser retornado.
14. Controle de fluxo - Case
SELECT id_pedido, case month(data_emissao)
when 1 then 'Janeiro' when 2 then 'Fevereiro'
when 3 then 'Março' when 4 then 'Abril'
when 5 then 'Maio' when 6 then 'Junho'
when 7 then 'Julho' when 8 then 'Agosto'
when 9 then 'Setembro' when 10 then 'Outubro'
when 11 then 'Novembro' when 12 then 'Dezembro'
end as 'Mês da Venda'
FROM pedidos p;
15. Controle de fluxo - If
● Semelhante a estrutura If encontrada em
linguagens de programação;
● Permite que através de verificações de
expressões relacionais e/ou lógicas, um
resultado em particular seja retornado em
uma consulta.
16. Controle de fluxo - If
SELECT item, valor,
IF(valor<30,'Barato','Caro')
from itens;
17. Referências
● Documentação MySQL sobre Funções:
http://dev.mysql.com/doc/refman/5.1/en/functions.html