SlideShare uma empresa Scribd logo
Banco de Dados
Aula 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

Mais conteúdo relacionado

Semelhante a Aula6 sql-funções

Agrupamento
AgrupamentoAgrupamento
Agrupamento
Andrea Alves
 
Agrupamento
AgrupamentoAgrupamento
Agrupamento
Andrea Alves
 
[Webinar] Performance e otimização de banco de dados MySQL
[Webinar] Performance e otimização de banco de dados MySQL[Webinar] Performance e otimização de banco de dados MySQL
[Webinar] Performance e otimização de banco de dados MySQL
KingHost - Hospedagem de sites
 
Oracle para PostgreSQL: Conseguir migrar e não parar UTI
Oracle para PostgreSQL: Conseguir migrar e não parar UTIOracle para PostgreSQL: Conseguir migrar e não parar UTI
Oracle para PostgreSQL: Conseguir migrar e não parar UTI
Fernando Ike
 
Uso de estatísticas pelo postgre sql
Uso de estatísticas pelo postgre sqlUso de estatísticas pelo postgre sql
Uso de estatísticas pelo postgre sql
Locaweb
 
Modulo-02-Aula-02-conteudo-de-certi.pptx
Modulo-02-Aula-02-conteudo-de-certi.pptxModulo-02-Aula-02-conteudo-de-certi.pptx
Modulo-02-Aula-02-conteudo-de-certi.pptx
AugustoNicolau2
 
Introdução FireDAC Acesso multi-banco para Delphi e C++ Builder
Introdução FireDACAcesso multi-banco para Delphi e C++ BuilderIntrodução FireDACAcesso multi-banco para Delphi e C++ Builder
Introdução FireDAC Acesso multi-banco para Delphi e C++ Builder
Diego Rosa
 
Bd ii material
Bd ii   materialBd ii   material
Bd ii material
Patricia Freitas
 
Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)
guestcc491
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
QuitriaSilva550
 
Php curso de php com my sql
Php   curso de php com my sqlPhp   curso de php com my sql
Php curso de php com my sql
robinhoct
 
Introdução ao GraphQL
Introdução ao GraphQLIntrodução ao GraphQL
Introdução ao GraphQL
Guilherme Oliveira
 

Semelhante a Aula6 sql-funções (12)

Agrupamento
AgrupamentoAgrupamento
Agrupamento
 
Agrupamento
AgrupamentoAgrupamento
Agrupamento
 
[Webinar] Performance e otimização de banco de dados MySQL
[Webinar] Performance e otimização de banco de dados MySQL[Webinar] Performance e otimização de banco de dados MySQL
[Webinar] Performance e otimização de banco de dados MySQL
 
Oracle para PostgreSQL: Conseguir migrar e não parar UTI
Oracle para PostgreSQL: Conseguir migrar e não parar UTIOracle para PostgreSQL: Conseguir migrar e não parar UTI
Oracle para PostgreSQL: Conseguir migrar e não parar UTI
 
Uso de estatísticas pelo postgre sql
Uso de estatísticas pelo postgre sqlUso de estatísticas pelo postgre sql
Uso de estatísticas pelo postgre sql
 
Modulo-02-Aula-02-conteudo-de-certi.pptx
Modulo-02-Aula-02-conteudo-de-certi.pptxModulo-02-Aula-02-conteudo-de-certi.pptx
Modulo-02-Aula-02-conteudo-de-certi.pptx
 
Introdução FireDAC Acesso multi-banco para Delphi e C++ Builder
Introdução FireDACAcesso multi-banco para Delphi e C++ BuilderIntrodução FireDACAcesso multi-banco para Delphi e C++ Builder
Introdução FireDAC Acesso multi-banco para Delphi e C++ Builder
 
Bd ii material
Bd ii   materialBd ii   material
Bd ii material
 
Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
 
Php curso de php com my sql
Php   curso de php com my sqlPhp   curso de php com my sql
Php curso de php com my sql
 
Introdução ao GraphQL
Introdução ao GraphQLIntrodução ao GraphQL
Introdução ao GraphQL
 

Último

TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 

Último (8)

TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 

Aula6 sql-funções

  • 1. Banco de Dados Aula 6 – Structured Query Language SQL – Funções Instrutor Rafael Albani
  • 2. Conteúdo ● Funções ● Manipulação de datas e horas ● Manipulação de strings ● Manipulação de números ● Controle de fluxo
  • 3. 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;
  • 4. 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.
  • 5. 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.
  • 6. 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>).
  • 7. 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.
  • 8. Manipulação de strings ● Algumas funções: – Concat(<string>,<string>, ...); – Length(<string>); – Replace(<string>, <dastring>,<tostring>); – Reverse(<string>); – Upper(<string>); – Lower(<string>); – Repeat(<string>).
  • 9. 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.
  • 10. 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>).
  • 11. 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.
  • 12. Controle de fluxo ● As duas principais funções de controle de fluxo são: – Case; – If.
  • 13. 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.
  • 14. 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;
  • 15. 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.
  • 16. Controle de fluxo - If SELECT item, valor, IF(valor<30,'Barato','Caro') from itens;
  • 17. Referências ● Documentação MySQL sobre Funções: http://dev.mysql.com/doc/refman/5.1/en/functions.html