aula6 sql-funções

17

Click here to load reader

Upload: rafael-albani

Post on 08-Jul-2015

894 views

Category:

Technology


0 download

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

Page 1: Aula6 sql-funções

Banco de DadosAula 6 – Structured Query Language

SQL – Funções

Instrutor Rafael Albani

Page 2: Aula6 sql-funções

Conteúdo

● Funções● Manipulação de datas e horas● Manipulação de strings● Manipulação de números● Controle de fluxo

Page 3: Aula6 sql-funções

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;

Page 4: Aula6 sql-funções

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.

Page 5: Aula6 sql-funções

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.

Page 6: Aula6 sql-funções

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>).

Page 7: Aula6 sql-funções

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.

Page 8: Aula6 sql-funções

Manipulação de strings

● Algumas funções:– Concat(<string>,<string>, ...);

– Length(<string>);

– Replace(<string>, <dastring>,<tostring>);

– Reverse(<string>);

– Upper(<string>);

– Lower(<string>);

– Repeat(<string>).

Page 9: Aula6 sql-funções

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.

Page 10: Aula6 sql-funções

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>).

Page 11: Aula6 sql-funções

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.

Page 12: Aula6 sql-funções

Controle de fluxo

● As duas principais funções de controle de fluxo são:

– Case;

– If.

Page 13: Aula6 sql-funções

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.

Page 14: Aula6 sql-funções

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;

Page 15: Aula6 sql-funções

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.

Page 16: Aula6 sql-funções

Controle de fluxo - If

SELECT item, valor,

IF(valor<30,'Barato','Caro')

from itens;

Page 17: Aula6 sql-funções

Referências

● Documentação MySQL sobre Funções:http://dev.mysql.com/doc/refman/5.1/en/functions.html