Funções - Ricardo Luis dos ?· Ricardo Eletro Gustavo, Luan 3 Maus Rafael, Gabriela 1 ASK Eduardo,…

Embed Size (px)

Text of Funções - Ricardo Luis dos ?· Ricardo Eletro Gustavo, Luan 3 Maus Rafael, Gabriela 1 ASK...

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense 2015 Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Campus Sapucaia do Sul

FunesProfessor: Ricardo Luis dos Santos

IFSUL Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Grupo Xerife Pontos

Predadores de PK Gabriel, Henrique 2

A liga do Xablau Lucas e Cantu 4

#TeamPastilha Tiago Lu e Guilherme 1

Deixa pr ns Vinicius e Filipe 2

View Ganhei Alexandra e Dani 2

2

Clash of Students 3I

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Grupo Xerife Pontos

Computec Angelo, Gabriel Jeter 1

Oconator 9000 Luis, Bruno 1

Ricardo Eletro Gustavo, Luan 3

Maus Rafael, Gabriela 1

ASK Eduardo, Gabriel W 5

3

Clash of Students 3K

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

O que so Funes?

Manipulao de datas e horas

Manipulao de strings

Manipulao de nmeros

Controle de Fluxo

Variveis

Funes Personalizadas

Exemplos de funes personalizadas

Exerccios

4

Agenda

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

So recursos fornecidos pelo SGBD (MySQL) para manipulao de dados em consultas SQL

Oportunamente, podem ser criadas funes personalizadas pelos usurios para determinados banco de dados

Permitem a apresentao de dados de uma forma personalizada e de acordo com a necessidade requerida em uma situao

Calcular a mdia, o maior valor, o menor valor, formatar determinado campo entre outros

5

O que so funes?

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Existem diversos tipos de funes

Nmeros, String, Data, Tempo, XML, JSON, Converso, Formatao

As funes mais corriqueiras podem ser divididas em 4 grandes categorias

Manipulao de datas e horas

Manipulao de strings

Manipulao de nmeros

Controle de fluxo

6

O que so funes?

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Manipulao de datas e horas

Essas funes permitem recuperar datas em determinados formatos

Exemplos

DATE_FORMAT(NOW(),%d de %M de %Y) Formata a data informada

DAY(NOW()) Retorna o dia da data informada

MONTH(NOW()) Retorna o ms da data informada

YEAR(NOW()) Retorna o ano da data informada

HOUR(NOW()) Retorna as horas do tempo informado

MINUTE(NOW()) Retorna os minutos do tempo informado

SECOND(NOW()) Retorna os segundos do tempo informado

7

Funes

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Manipulao de datas e horas

Essas funes permitem recuperar datas em determinados formatos

Exemplos

DATEDIFF(NOW(), '2001-09-20') Retorna a diferena entre duas datas (em dias)

FROM_DAYS(500) Converte um inteiro (nmero de dias) em uma data

TO_DAYS(NOW()) Converte a data para dias

TIMESTAMP(2001-09-20) Converte uma data para o formato time stamp

TIMEDIFF(NOW(), TIMESTAMP('2001-09-20')) Retorna a diferena entre dois tempos

8

Funes

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Manipulao de datas e horas

Exemplos

CURDATE() Retorna a data atual

CURTIME() Retorna a hora atual

STR_TO_DATE('May 1, 2013','%M %d,%Y')

DAYNAME(NOW()) - Retorna o nome do dia da semana (ingls)

MONTHNAME(NOW()) Retorna o nome do ms (ingls)

WEEKDAY(NOW()) Retorna um inteiro para o dia da semana (0 para segunda ...... 6 para domingo)

Operaes em datas

NOW() + INTERVAL '10 2' DAY_HOUR

NOW() - INTERVAL '10' DAY

9

Funes

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Manipulao de datas e horas Operaes em datas

10

Funes

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Manipulao de strings

Permitem a modificao ou exibio de strings

Exemplos

CONCAT(Aqui ,o aluno X!) Concatena duas ou mais strings

LENGTH(teste) Retorna o tamanho de uma string

REPLACE(Adidas, Ad, Ard) Altera uma string por um determinado valor

REVERSE(Adidas) Inverte uma string

UPPER(Adidas) Converte uma string pra maiscula

LOWER(ADiDaS) Converte uma string para minscula

REPEAT('Adidas ', 10) Repete uma string um determinado nmero de vezes

11

Funes

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Manipulao de strings

Exemplos

CONCAT_WS(' ', 'Adidas','ORIGINALS') Concatena strings com um determinado separador

STRCMP('text2', 'text') Compara duas strings retornando 0 se as strings so iguais

FIND_IN_SET('b','a,b,c,d') Procura um caractere em uma stringretornando o ndice na qual encontrada

SUBSTRING(922786588,1,7) Retorna uma substring iniciando no parmetro 2 e com a quantidade informada no parmetro 3

SUBSTRING_INDEX('www.mysql.com', '.', 2) Retorna uma substringde uma string, antes da ocorrncia de um delimitador, o ltimo parmetro determinada a quantidade de repeties do delimitador

12

Funes

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Manipulao de nmeros

Modificar e realizar operaes matemticas

Exemplos

POW(2,3) Retorna o valor de 2 elevado a potncia 3

SQRT(9) Retorna a raiz quadrada de um nmero

TRUNCATE(1902.290, 1) Retorna um valor com um determinado nmero de casas decimais

RAND() Randomiza um valor entre 0 e 1

CONV('10',10,2) Converte um determinado nmero de uma base informada para a ltima base informada

FORMAT(12332.232412342341234, 2, 'de_DE') Formata um determinado nmero, com a quantidade de casas decimais e o formato padro para um determinado pas

13

Funes

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Manipulao de nmeros

Modificar e realizar operaes matemticas

Exemplos

ROUND(1.6, 2) Arredonda corretamente valores (para cima ou para baixo), se passado o segundo parmetro utiliza essa informao para a quantidade de casas decimais

CEIL(1.2) Arredonda sempre para cima

FLOOR(1.999) Arredonda sempre para baixo

CAST(12333.777 as DECIMAL(10,2)) Permite realizar formataes e converses em dados

14

Funes

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Controle de Fluxo

So funes que permitem controlar o fluxo de uma determinada operao

Normalmente utilizadas quando existe a necessidade de verificar uma condio para ento retornar o valor de uma determinada consulta

IF(1>2,'verdadeiro','falso') Retorna um determinado valor aps analisar uma expresso relacional (e.g., > ) e/ou lgica (e.g., ||)

CASE 1 WHEN 0 THEN 'zero' WHEN 1 THEN 'um' END Retorna um valor conforme os diversos casos descritos

15

Funes

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Varveis definidas pelo Usurio

Utilizam a clusula DECLARE

Variveis default do MySQL

Utilizam a clusula @@

16

Variveis

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Uma funo usada para gerar um valor que pode ser usado em uma expresso

O valor geralmente baseado em um ou mais parmetros fornecidos funo

executada como parte de uma expresso

17

Funes Personalizadas

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

SINTAXE

CREATE FUNCTION nome_funo (parmetros)

RETURNS tipo_dados

cdigo_da_funo

Invocando uma funo

SELECT nome_funo(parmetros)

18

Funes Personalizadas

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Podemos tambm criar funes personalizadas!

19

Funes Personalizadas

Campus Sapucaia do Sul

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Podemos tambm criar funes personalizadas!

20

Funes Personalizadas

Campus Sapucaia do Sul

Substitui temporariamente o ; enquanto

smbolo finalizador de comandos SQL

Cria a funo digitei com um parmetro de

entrada.

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Podemos tambm criar funes personalizadas!

21

Funes Personalizadas

Campus Sapucaia do Sul

Informa o tipo de retorno e a codificao do

mesmo (opcional, somente utilizado quando o

retorno ser um texto

Retorno da funo. Observe os slides

anteriores para determinar o que a funo

CONCAT faz.

Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense

Podemos tambm criar funes person