aula6 sql-funções
DESCRIPTION
Apresentação que demonstra um apanhado geral do que são e quais são as principais funções do MySQL, desde formatação de dados até controle de fluxo em consultas SQL.TRANSCRIPT
Banco de DadosAula 6 – Structured Query Language
SQL – Funções
Instrutor Rafael Albani
Conteúdo
● Funções● Manipulação de datas e horas● Manipulação de strings● Manipulação de números● Controle de fluxo
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;
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.
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.
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>).
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.
Manipulação de strings
● Algumas funções:– Concat(<string>,<string>, ...);
– Length(<string>);
– Replace(<string>, <dastring>,<tostring>);
– Reverse(<string>);
– Upper(<string>);
– Lower(<string>);
– Repeat(<string>).
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.
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>).
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.
Controle de fluxo
● As duas principais funções de controle de fluxo são:
– Case;
– If.
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.
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;
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.
Controle de fluxo - If
SELECT item, valor,
IF(valor<30,'Barato','Caro')
from itens;
Referências
● Documentação MySQL sobre Funções:http://dev.mysql.com/doc/refman/5.1/en/functions.html