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

  • Published on
    24-Dec-2018

  • View
    212

  • Download
    0

Embed Size (px)

Transcript

<p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense 2015 Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p>Campus Sapucaia do Sul</p> <p>FunesProfessor: Ricardo Luis dos Santos</p> <p>IFSUL Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p>Grupo Xerife Pontos</p> <p>Predadores de PK Gabriel, Henrique 2</p> <p>A liga do Xablau Lucas e Cantu 4</p> <p>#TeamPastilha Tiago Lu e Guilherme 1</p> <p>Deixa pr ns Vinicius e Filipe 2</p> <p>View Ganhei Alexandra e Dani 2</p> <p>2</p> <p>Clash of Students 3I</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p>Grupo Xerife Pontos</p> <p>Computec Angelo, Gabriel Jeter 1</p> <p>Oconator 9000 Luis, Bruno 1</p> <p>Ricardo Eletro Gustavo, Luan 3</p> <p>Maus Rafael, Gabriela 1</p> <p>ASK Eduardo, Gabriel W 5</p> <p>3</p> <p>Clash of Students 3K</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> O que so Funes?</p> <p> Manipulao de datas e horas</p> <p> Manipulao de strings</p> <p> Manipulao de nmeros</p> <p> Controle de Fluxo</p> <p> Variveis</p> <p> Funes Personalizadas</p> <p> Exemplos de funes personalizadas</p> <p> Exerccios</p> <p>4</p> <p>Agenda</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> So recursos fornecidos pelo SGBD (MySQL) para manipulao de dados em consultas SQL</p> <p> Oportunamente, podem ser criadas funes personalizadas pelos usurios para determinados banco de dados</p> <p> Permitem a apresentao de dados de uma forma personalizada e de acordo com a necessidade requerida em uma situao</p> <p> Calcular a mdia, o maior valor, o menor valor, formatar determinado campo entre outros</p> <p>5</p> <p>O que so funes?</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Existem diversos tipos de funes</p> <p> Nmeros, String, Data, Tempo, XML, JSON, Converso, Formatao</p> <p> As funes mais corriqueiras podem ser divididas em 4 grandes categorias</p> <p> Manipulao de datas e horas</p> <p> Manipulao de strings</p> <p> Manipulao de nmeros</p> <p> Controle de fluxo</p> <p>6</p> <p>O que so funes?</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Manipulao de datas e horas</p> <p> Essas funes permitem recuperar datas em determinados formatos</p> <p> Exemplos</p> <p> DATE_FORMAT(NOW(),%d de %M de %Y) Formata a data informada</p> <p> DAY(NOW()) Retorna o dia da data informada</p> <p> MONTH(NOW()) Retorna o ms da data informada</p> <p> YEAR(NOW()) Retorna o ano da data informada</p> <p> HOUR(NOW()) Retorna as horas do tempo informado</p> <p> MINUTE(NOW()) Retorna os minutos do tempo informado</p> <p> SECOND(NOW()) Retorna os segundos do tempo informado</p> <p>7</p> <p>Funes</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Manipulao de datas e horas</p> <p> Essas funes permitem recuperar datas em determinados formatos</p> <p> Exemplos</p> <p> DATEDIFF(NOW(), '2001-09-20') Retorna a diferena entre duas datas (em dias)</p> <p> FROM_DAYS(500) Converte um inteiro (nmero de dias) em uma data</p> <p> TO_DAYS(NOW()) Converte a data para dias</p> <p> TIMESTAMP(2001-09-20) Converte uma data para o formato time stamp</p> <p> TIMEDIFF(NOW(), TIMESTAMP('2001-09-20')) Retorna a diferena entre dois tempos</p> <p>8</p> <p>Funes</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Manipulao de datas e horas</p> <p> Exemplos</p> <p> CURDATE() Retorna a data atual</p> <p> CURTIME() Retorna a hora atual</p> <p> STR_TO_DATE('May 1, 2013','%M %d,%Y')</p> <p> DAYNAME(NOW()) - Retorna o nome do dia da semana (ingls)</p> <p> MONTHNAME(NOW()) Retorna o nome do ms (ingls)</p> <p> WEEKDAY(NOW()) Retorna um inteiro para o dia da semana (0 para segunda ...... 6 para domingo)</p> <p> Operaes em datas</p> <p> NOW() + INTERVAL '10 2' DAY_HOUR</p> <p> NOW() - INTERVAL '10' DAY</p> <p>9</p> <p>Funes</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Manipulao de datas e horas Operaes em datas</p> <p>10</p> <p>Funes</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Manipulao de strings</p> <p> Permitem a modificao ou exibio de strings</p> <p> Exemplos</p> <p> CONCAT(Aqui ,o aluno X!) Concatena duas ou mais strings</p> <p> LENGTH(teste) Retorna o tamanho de uma string</p> <p> REPLACE(Adidas, Ad, Ard) Altera uma string por um determinado valor</p> <p> REVERSE(Adidas) Inverte uma string</p> <p> UPPER(Adidas) Converte uma string pra maiscula</p> <p> LOWER(ADiDaS) Converte uma string para minscula</p> <p> REPEAT('Adidas ', 10) Repete uma string um determinado nmero de vezes</p> <p>11</p> <p>Funes</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Manipulao de strings</p> <p> Exemplos</p> <p> CONCAT_WS(' ', 'Adidas','ORIGINALS') Concatena strings com um determinado separador</p> <p> STRCMP('text2', 'text') Compara duas strings retornando 0 se as strings so iguais</p> <p> FIND_IN_SET('b','a,b,c,d') Procura um caractere em uma stringretornando o ndice na qual encontrada</p> <p> SUBSTRING(922786588,1,7) Retorna uma substring iniciando no parmetro 2 e com a quantidade informada no parmetro 3</p> <p> 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</p> <p>12</p> <p>Funes</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Manipulao de nmeros</p> <p> Modificar e realizar operaes matemticas</p> <p> Exemplos</p> <p> POW(2,3) Retorna o valor de 2 elevado a potncia 3</p> <p> SQRT(9) Retorna a raiz quadrada de um nmero</p> <p> TRUNCATE(1902.290, 1) Retorna um valor com um determinado nmero de casas decimais</p> <p> RAND() Randomiza um valor entre 0 e 1</p> <p> CONV('10',10,2) Converte um determinado nmero de uma base informada para a ltima base informada</p> <p> FORMAT(12332.232412342341234, 2, 'de_DE') Formata um determinado nmero, com a quantidade de casas decimais e o formato padro para um determinado pas</p> <p>13</p> <p>Funes</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Manipulao de nmeros</p> <p> Modificar e realizar operaes matemticas</p> <p> Exemplos</p> <p> 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</p> <p> CEIL(1.2) Arredonda sempre para cima</p> <p> FLOOR(1.999) Arredonda sempre para baixo</p> <p> CAST(12333.777 as DECIMAL(10,2)) Permite realizar formataes e converses em dados</p> <p>14</p> <p>Funes</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Controle de Fluxo</p> <p> So funes que permitem controlar o fluxo de uma determinada operao</p> <p> Normalmente utilizadas quando existe a necessidade de verificar uma condio para ento retornar o valor de uma determinada consulta</p> <p> IF(1&gt;2,'verdadeiro','falso') Retorna um determinado valor aps analisar uma expresso relacional (e.g., &gt; ) e/ou lgica (e.g., ||)</p> <p> CASE 1 WHEN 0 THEN 'zero' WHEN 1 THEN 'um' END Retorna um valor conforme os diversos casos descritos</p> <p>15</p> <p>Funes</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Varveis definidas pelo Usurio</p> <p> Utilizam a clusula DECLARE</p> <p> Variveis default do MySQL</p> <p> Utilizam a clusula @@</p> <p>16</p> <p>Variveis</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Uma funo usada para gerar um valor que pode ser usado em uma expresso</p> <p> O valor geralmente baseado em um ou mais parmetros fornecidos funo</p> <p> executada como parte de uma expresso</p> <p>17</p> <p>Funes Personalizadas</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> SINTAXE</p> <p>CREATE FUNCTION nome_funo (parmetros)</p> <p>RETURNS tipo_dados</p> <p>cdigo_da_funo</p> <p> Invocando uma funo</p> <p>SELECT nome_funo(parmetros)</p> <p>18</p> <p>Funes Personalizadas</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Podemos tambm criar funes personalizadas!</p> <p>19</p> <p>Funes Personalizadas</p> <p>Campus Sapucaia do Sul</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Podemos tambm criar funes personalizadas!</p> <p>20</p> <p>Funes Personalizadas</p> <p>Campus Sapucaia do Sul</p> <p>Substitui temporariamente o ; enquanto </p> <p>smbolo finalizador de comandos SQL</p> <p>Cria a funo digitei com um parmetro de </p> <p>entrada. </p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Podemos tambm criar funes personalizadas!</p> <p>21</p> <p>Funes Personalizadas</p> <p>Campus Sapucaia do Sul</p> <p>Informa o tipo de retorno e a codificao do </p> <p>mesmo (opcional, somente utilizado quando o </p> <p>retorno ser um texto</p> <p>Retorno da funo. Observe os slides </p> <p>anteriores para determinar o que a funo </p> <p>CONCAT faz.</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Podemos tambm criar funes personalizadas!</p> <p>22</p> <p>Funes Personalizadas</p> <p>Campus Sapucaia do Sul</p> <p>Encerra o comando CREATE FUNCTION com </p> <p>o smbolo delimitador temporrio.</p> <p>Altera novamente o smbolo delimitador </p> <p>para o smbolo default.</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Podemos tambm criar funes personalizadas!</p> <p>23</p> <p>Funes Personalizadas</p> <p>Campus Sapucaia do Sul</p> <p>O que essa funo faz?</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Podemos tambm criar funes personalizadas!</p> <p>24</p> <p>Funes Personalizadas</p> <p>Campus Sapucaia do Sul</p> <p>O que essa funo faz?</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p> Podemos tambm criar funes personalizadas!</p> <p>25</p> <p>Funes Personalizadas</p> <p>Campus Sapucaia do Sul</p> <p>O que essa funo faz?Observe as diferenas com as </p> <p>funes anteriores...</p> <p>Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense 2015 Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense</p> <p>Campus Sapucaia do Sul</p> <p>FunesProfessor: Ricardo Luis dos Santos</p> <p>IFSUL Campus Sapucaia do Sul</p>