E bookSQL
E bookSQL
E bookSQL
FUNÇÕES SQL
PARA SE TORNAR
UM USUÁRIO AVANÇADO
DE BANCO DE DADOS
MARCIO VICTORINO
INTRODUÇÃO
PARA QUEM É ESTE E-BOOK?
Por outro lado, caso você ainda não esteja familiarizado com a linguagem
SQL, mas tem interesse no assunto, sugiro, antes de ler este e-book, acessar
a área do nosso site www.edukati.com.br/video-sql que está repleta de
vídeos de curta duração sobre esse assunto. Assim, você terá um melhor
aproveitamento ao ler este conteúdo.
www.edukati.com.br
Marcio Victorino
INTRODUÇÃO
O QUE É SQL?
www.edukati.com.br
Marcio Victorino
INTRODUÇÃO
COMO USAR ESTE E-BOOK?
Resultado
www.edukati.com.br
Marcio Victorino
2 - UPPER
Tabela Departamento
Resultado
www.edukati.com.br
Marcio Victorino
3 - CONCAT
Tabela Empregado
Resultado
www.edukati.com.br
Marcio Victorino
3 - CONCAT
Tabela Empregado
Resultado
www.edukati.com.br
Marcio Victorino
4 - SUBSTR
Tabela Empregado
www.edukati.com.br
Marcio Victorino
5 - LENGTH
Tabela Empregado
Resultado
www.edukati.com.br
Marcio Victorino
6 - REPLACE
Tabela Empregado
Resultado
Obs: Na consulta acima, o foco da substituição realizada pela função REPLACE foi a
coluna Primeiro_Nome da tabela Empregado. Então, a função percorreu todos as
ocorrências do campo Primeiro_Nome e quando encontrou a cadeia de caracteres 'Dey',
substituiu por 'Day'.
www.edukati.com.br
Marcio Victorino
7 - COALESCE
Tabela Empregado
Obs: Na consulta acima, o foco da substituição realizada pela função COALESCE foi a
coluna Sexo da tabela Empregado. Então, a função percorreu todos as ocorrências do
campo Sexo e quando encontrou ‘NULL’, substituiu por 'I'. Cabe ressaltar que o valor a
ser usado para substituir o ‘NULL’ é determinado pelo programador da consulta. A função
COALESCE também pode ser utilizada para dados numéricos.
www.edukati.com.br
Marcio Victorino
8 - LPAD
Tabela Empregado
Resultado
www.edukati.com.br
Marcio Victorino
9 - RPAD
Tabela Empregado
Resultado
www.edukati.com.br
Marcio Victorino
10 - LTRIM
Tabela Empregado
Resultado
Obs: Na consulta acima, todas as ocorrências do caractere “em branco” (ou “espaço”)
que estavam à esquerda dos dados da coluna Primeiro_Nome foram removidas. Esses
caracteres estavam antes dos nomes “Denise”, “Ana” e “Clara”. Cabe ressaltar que
também existe a função RTRIM que remove as ocorrências do caractere “em branco” à
direita do conteúdo da coluna de uma tabela.
www.edukati.com.br
Marcio Victorino
FUNÇÕES
NUMÉRICAS
11 - AVG
Tabela Empregado
Resultado
Obs: Na consulta acima, foi calculada a média dos salários dos empregados.
www.edukati.com.br
Marcio Victorino
12 - COUNT
Tabela Empregado
Resultado
Obs: Na consulta acima, foi contada a quantidade de salários existentes. Caso algum
salário estivesse sem valor, ou seja, fosse NULL, ele não seria contado.
www.edukati.com.br
Marcio Victorino
13 - SUM
Tabela Empregado
Resultado
Obs: Na consulta acima, foi calculada a soma total de todos os salários dos empregados.
www.edukati.com.br
Marcio Victorino
14 - MAX
Tabela Empregado
Resultado
www.edukati.com.br
Marcio Victorino
15 - MIN
Tabela Empregado
Resultado
www.edukati.com.br
Marcio Victorino
16 - ABS
Tabela Valores
Resultado
www.edukati.com.br
Marcio Victorino
17 - CEIL
Tabela Valores
Resultado
www.edukati.com.br
Marcio Victorino
18 - FLOOR
Tabela Valores
Resultado
www.edukati.com.br
Marcio Victorino
19 - MOD
Tabela Valores
Resultado
Obs: A consulta acima retornou o resto da divisão da coluna Valor1 pelo número 2. Essa
consulta é utilizada para encontrar os valores da coluna Valor1 que são paras, pois se o
resto da divisão por 2 for 0, o número é par.
www.edukati.com.br
Marcio Victorino
20 - POWER
Tabela Valores
Resultado
www.edukati.com.br
Marcio Victorino
21 - SQRT
Tabela Valores
Resultado
www.edukati.com.br
Marcio Victorino
22 - SIGN
Tabela Valores
Resultado
www.edukati.com.br
Marcio Victorino
23 - ROUND
Tabela Valores
Resultado
www.edukati.com.br
Marcio Victorino
24 - TRUNCATE
Tabela Valores
Resultado
www.edukati.com.br
Marcio Victorino
25 - LOG
Tabela Valores
Resultado
Obs: Repare que quando o Valor1 da tabela Valores é 1 (primeiro registro), a consulta
retorna “NULL”. Isto acontece porque LOG(1, 2) não existe. Por outro lado, o LOG(2, 2)
retornou 1, pois 2 elevado a 1 resulta em 2.
www.edukati.com.br
Marcio Victorino
FUNÇÕES DE
DATAS
26 - DATE_FORMAT
Tabela Empregado
Resultado
www.edukati.com.br
Marcio Victorino
27 - EXTRACT
Tabela Empregado
Obs: Pode-se utilizar a sintaxe “MONTH FROM” ou “DAY FROM” para retornar o mês e o
dia, respectivamente.
www.edukati.com.br
Marcio Victorino
28 - DAY
Tabela Empregado
Resultado
www.edukati.com.br
Marcio Victorino
29 - DAYNAME
Tabela Empregado
Resultado
www.edukati.com.br
Marcio Victorino
30 - MONTH
Tabela Empregado
Resultado
www.edukati.com.br
Marcio Victorino
31 - MONTHNAME
Tabela Empregado
Resultado
www.edukati.com.br
Marcio Victorino
32 - YEAR
Tabela Empregado
Resultado
www.edukati.com.br
Marcio Victorino
33 - DAYOFYEAR
Tabela Empregado
Obs: A consulta acima retornou o dia do ano das datas de admissão. Por exemplo, a
primeira linha informa que a data consultada equivale ao primeiro dia do ano.
www.edukati.com.br
Marcio Victorino
34 - DAYOFMONTH
Tabela Empregado
Obs: A consulta acima retornou o dia do mês das datas de admissão. Por exemplo, a
primeira linha informa que a data consultada equivale ao primeiro dia do mês.
www.edukati.com.br
Marcio Victorino
35 - DAYOFWEEK
Tabela Empregado
Obs: A consulta acima retornou o dia da semana das datas de admissão. Por exemplo, a
primeira linha informa que a data consultada equivale ao terceiro dia da semana.
www.edukati.com.br
Marcio Victorino
36 - DATEDIFF
Tabela Empregado
Resultado
Obs: Na consulta acima, foi calculado o número de dias que cada empregado trabalhou
na empresa.
www.edukati.com.br
Marcio Victorino
37 - DATE_ADD
Tabela Empregado
Resultado
Resultado
Obs: Na consulta acima, foram subtraídos 15 dias da data de demissão dos empregados
da empresa. Essa função também pode utilizar intervalos de meses (month) ou anos
(year).
www.edukati.com.br
Marcio Victorino
39 - LAST_DAY
Tabela Empregado
Resultado
www.edukati.com.br
Marcio Victorino
40 - CURDATE
Função CURDATE(): retorna data atual. Repare que essa função não usa
colunas de tabelas, ela simplesmente apresenta a data do sistema.
Resultado
41 - NOW
Função NOW(): retorna data/hora atual. Repare que essa função não usa
colunas de tabelas, ela simplesmente apresenta a data/hora do sistema.
Resultado
www.edukati.com.br
Marcio Victorino
42 - SYSDATE
Função SYSDATE(): retorna data/hora atual. Repare que essa função não
usa colunas de tabelas, ela simplesmente apresenta a data/hora do sistema.
Resultado
43 - CURTIME
Função CURTIME(): retorna o horário atual. Repare que essa função não usa
colunas de tabelas, ela simplesmente apresenta o horário atual do sistema.
Resultado
www.edukati.com.br
Marcio Victorino
44 - TO_DATE
Função TO_DATE(): é uma função para conversão de tipos que converte do
formato cadeia de caracteres para data.
45 - TO_CHAR
Função TO_CHAR(): é uma função para conversão de tipos que converte do
formato data para cadeia de caracteres.
www.edukati.com.br
Marcio Victorino