Upload
trinhanh
View
218
Download
0
Embed Size (px)
Citation preview
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense© 2015 Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
FunçõesProfessor: Ricardo Luis dos Santos
IFSUL – Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência 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á nós Vinicius e Filipe 2
View Ganhei Alexandra e Dani 2
2
Clash of Students – 3I
Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência 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 Educação, Ciência e Tecnologia Sul-Rio-Grandense
• O que são Funções?
• Manipulação de datas e horas
• Manipulação de strings
• Manipulação de números
• Controle de Fluxo
• Variáveis
• Funções Personalizadas
• Exemplos de funções personalizadas
• Exercícios
4
Agenda
Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• São recursos fornecidos pelo SGBD (MySQL) para manipulação de dados em consultas SQL
• Oportunamente, podem ser criadas funções personalizadas pelos usuários para determinados banco de dados
• Permitem a apresentação de dados de uma forma personalizada e de acordo com a necessidade requerida em uma situação
• Calcular a média, o maior valor, o menor valor, formatar determinado campo entre outros
5
O que são funções?
Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Existem diversos tipos de funções
• Números, String, Data, Tempo, XML, JSON, Conversão, Formatação
• As funções mais corriqueiras 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
6
O que são funções?
Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Manipulação de datas e horas
• Essas funções 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 mês 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
Funções
Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Manipulação de datas e horas
• Essas funções permitem recuperar datas em determinados formatos
• Exemplos
• DATEDIFF(NOW(), '2001-09-20') – Retorna a diferença entre duas datas (em dias)
• FROM_DAYS(500) – Converte um inteiro (número 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 diferença entre dois tempos
8
Funções
Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Manipulação 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 (inglês)
• MONTHNAME(NOW()) – Retorna o nome do mês (inglês)
• WEEKDAY(NOW()) – Retorna um inteiro para o dia da semana (0 para segunda ...... 6 para domingo)
• Operações em datas
• NOW() + INTERVAL '10 2' DAY_HOUR
• NOW() - INTERVAL '10' DAY
9
Funções
Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Manipulação de datas e horas• Operações em datas
10
Funções
Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Manipulação de strings
• Permitem a modificação ou exibição 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 maiúscula
• LOWER(‘ADiDaS’) – Converte uma string para minúscula
• REPEAT('Adidas ', 10) – Repete uma string um determinado número de vezes
11
Funções
Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Manipulação de strings
• Exemplos
• CONCAT_WS(' ', 'Adidas','ORIGINALS') – Concatena strings com um determinado separador
• STRCMP('text2', 'text') – Compara duas strings retornando 0 se as strings são 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 parâmetro 2 e com a quantidade informada no parâmetro 3
• SUBSTRING_INDEX('www.mysql.com', '.', 2) – Retorna uma substringde uma string, antes da ocorrência de um delimitador, o último parâmetro determinada a quantidade de repetições do delimitador
12
Funções
Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Manipulação de números
• Modificar e realizar operações matemáticas
• Exemplos
• POW(2,3) – Retorna o valor de 2 elevado a potência 3
• SQRT(9) – Retorna a raiz quadrada de um número
• TRUNCATE(1902.290, 1) – Retorna um valor com um determinado número de casas decimais
• RAND() – Randomiza um valor entre 0 e 1
• CONV('10',10,2) – Converte um determinado número de uma base informada para a última base informada
• FORMAT(12332.232412342341234, 2, 'de_DE') – Formata um determinado número, com a quantidade de casas decimais e o formato padrão para um determinado país
13
Funções
Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Manipulação de números
• Modificar e realizar operações matemáticas
• Exemplos
• ROUND(1.6, 2) – Arredonda corretamente valores (para cima ou para baixo), se passado o segundo parâmetro utiliza essa informação 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 formatações e conversões em dados
14
Funções
Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Controle de Fluxo
• São funções que permitem controlar o fluxo de uma determinada operação
• Normalmente utilizadas quando existe a necessidade de verificar uma condição para então retornar o valor de uma determinada consulta
• IF(1>2,'verdadeiro','falso') – Retorna um determinado valor após analisar uma expressão relacional (e.g., > ) e/ou lógica (e.g., ||)
• CASE 1 WHEN 0 THEN 'zero' WHEN 1 THEN 'um' END – Retorna um valor conforme os diversos casos descritos
15
Funções
Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Varáveis definidas pelo Usuário
• Utilizam a cláusula DECLARE
• Variáveis default do MySQL
• Utilizam a cláusula @@
16
Variáveis
Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Uma função é usada para gerar um valor que pode ser usado em uma expressão
• O valor é geralmente baseado em um ou mais parâmetros fornecidos à função
• É executada como parte de uma expressão
17
Funções Personalizadas
Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• SINTAXE
CREATE FUNCTION nome_função (parâmetros)
RETURNS tipo_dados
código_da_função
• Invocando uma função
SELECT nome_função(parâmetros)
18
Funções Personalizadas
Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Podemos também criar funções personalizadas!
19
Funções Personalizadas
Campus Sapucaia do Sul
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Podemos também criar funções personalizadas!
20
Funções Personalizadas
Campus Sapucaia do Sul
Substitui temporariamente o “;” enquanto
símbolo finalizador de comandos SQL
Cria a função digitei com um parâmetro de
entrada.
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Podemos também criar funções personalizadas!
21
Funções Personalizadas
Campus Sapucaia do Sul
Informa o tipo de retorno e a codificação do
mesmo (opcional, somente utilizado quando o
retorno será um texto
Retorno da função. Observe os slides
anteriores para determinar o que a função
CONCAT faz.
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Podemos também criar funções personalizadas!
22
Funções Personalizadas
Campus Sapucaia do Sul
Encerra o comando CREATE FUNCTION com
o símbolo delimitador temporário.
Altera novamente o símbolo delimitador
para o símbolo default.
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Podemos também criar funções personalizadas!
23
Funções Personalizadas
Campus Sapucaia do Sul
O que essa função faz?
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Podemos também criar funções personalizadas!
24
Funções Personalizadas
Campus Sapucaia do Sul
O que essa função faz?
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
• Podemos também criar funções personalizadas!
25
Funções Personalizadas
Campus Sapucaia do Sul
O que essa função faz?Observe as diferenças com as
funções anteriores...
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense© 2015 Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense
Campus Sapucaia do Sul
FunçõesProfessor: Ricardo Luis dos Santos
IFSUL – Campus Sapucaia do Sul