Funções em SQL I
Costa, Lidiane Farias
SST Funções em SQL I / Lidiane Farias Costa
Ano: 2021
nº de p. : 13
Copyright © 2019. Delinea Tecnologia Educacional. Todos os direitos reservados.
Funções em SQL I
Apresentação
Vamos continuar estudando hoje sobre as Funções em SQL. Mas agora focando nos
outros tipos de funções SQL ainda não abordadas. As funções que iremos aprender
hoje serão as funções de strings, funções de conversão e as funções externas.
3
1. Funções de strings
Agora veremos as funções mais utilizadas para manipulação de strings, ou cadeias
de caracteres, juntamente com suas especificidades e seu funcionamento.
Manipulação de strings
Fonte: Plataforma Deduca (2021).
#PraCegoVer:Imagem que representa uma pessoa apontando para símbolos
em um tablet branco.
SUBSTRING
A função SUBSTRING() faz um recorte em uma cadeia de caracteres por meio do
fornecimento dessa cadeia e da posição inicial e final em que o corte deve ser
realizado.
Atenção
Vamos ver um exemplo de uso da função para recortar o primeiro
nome de “MARIA DOS SANTOS”:
SELECT SUBSTRING(‘MARIA DOS SANTOS’, 0, 4)
O resultado da função executada retorna como resultado apenas
o nome “MARIA”.
4
LEFT e RIGHT
As funções LEFT() e RIGHT() retornam, respectivamente, a cadeia de caracteres à
esquerda e à direita da posição informada.
Atenção
Vejamos um exemplo de uso da função LEFT() que retorna o
resultado “MARIA DOS” em “MARIA DOS SANTOS”:
SELECT LEFT(‘MARIA DOS SANTOS’, 9)
Do mesmo modo, a função RIGHT() retorna a cadeia de caracteres
“SANTOS”:
SELECT RIGHT(‘MARIA DOS SANTOS’, 9)
LEN
A contagem dos caracteres de uma string pode ser realizada com a função LEN(),
que retorna um número inteiro com a quantidade de caracteres presentes na cadeia
apresentada.
Ainda segundo o exemplo de “MARIA DOS SANTOS”, a função LEN() retorna o valor
16, que é a quantidade de caracteres presentes nessa string, contando inclusive os
espaços em branco:
SELECT LEN(‘MARIA DOS SANTOS’)
CHARINDEX
A função CHARINDEX() retorna o valor da primeira posição em que o caractere
informado foi encontrado na string.
Nessa função, devem ser fornecidos dois parâmetros. O primeiro é o caractere
que desejamos encontrar na string; o segundo, a string na qual queremos buscar o
caractere informado no primeiro parâmetro.
5
O exemplo a seguir retorna a primeira posição na qual foi encontrado o caractere
vazio, ou espaço, que é a posição 5.
Atenção
SELECT CHARINDEX(‘ ’, ‘MARIA DOS SANTOS’)
REPLACE
A função REPLACE() substitui uma cadeia de caracteres por outra. Ambas as
cadeias precisam ser informadas, além de três parâmetros. O primeiro trata-se do
texto no qual a substituição será executada. O segundo é a cadeia de caracteres que
será substituída dentro do texto. O terceiro é a cadeia de caracteres que será inserida
no lugar daquela informada no segundo parâmetro. Vejamos a sentença:
Atenção
SELECT REPLACE(‘MARIA DOS SANTOS’, ‘MARIA’, ‘SANTOS)
UPPER e LOWER
UPPER() e LOWER() são funções que transformam todos os caracteres da cadeia em
letras maiúsculas ou minúsculas respectivamente.
A seguir, a função UPPER() retorna como resultado “MARIA DOS SANTOS” (letras
maiúsculas):
Atenção
SELECT UPPER(‘Maria dos Santos’)
6
Já o uso da função LOWER() retorna o resultado “maria dos santos” (letras
minúsculas):
SELECT LOWER(‘Maria dos Santos’)
STUFF
A função STUFF() apaga um trecho de uma string e insere um novo texto.
Aceita quatro parâmetros:
Primeiro:
é o texto que será modificado.
Segundo:
o número inteiro que identifica a posição a partir da qual os caracteres
começarão a ser excluídos.
Terceiro:
um número inteiro que define a quantidade de caracteres que serão excluídos.
Quarto:
o texto que será inserido a partir da posição definida no terceiro parâmetro.
No exemplo a seguir, a função retorna como resultado a string “MARIA FERREIRA”:
Atenção
SELECT STUFF(‘MARIA DOS SANTOS’, 5, 15, ‘FERREIRA’)
7
TRIM
A função TRIM() remove os espaços vazios no início e no final de uma string. Aceita
somente um único parâmetro, que é o texto do qual serão retirados os espaços.
No exemplo a seguir, a função retorna a string “MARIA DOS SANTOS”, sem espaços
antes de depois do nome:
Atenção
SELECT STUFF(‘MARIA DOS SANTOS’, 5, 15, ‘FERREIRA’)
STR
Com a função STR(), podemos transformar valores numéricos em texto.
Ao informarmos o valor que desejamos converter, a função retorna o texto
correspondente.
O valor passado como parâmetro é um número inteiro. No exemplo a seguir,
podemos visualizar que o valor enviado não está entre aspas, denotando um
valor que é um número. Desse modo, a função retorna o valor “13” entre aspas,
representando uma string.
Atenção
SELECT STR(13)
CONCAT
Para realizar a junção de duas strings, ou seja, concatená-las, a função CONCAT()
é a indicada. Para utilizá-la, basta enviarmos as duas cadeias de caracteres que
desejamos concatenar. As posições das cadeias enviadas nos parâmetros serão
mantidas após o uso da função.
8
No exemplo a seguir, a função retorna a cadeia de caracteres "MARIA DOS SANTOS”:
Atenção
SELECT CONTACT(‘MARIA ‘, ‘DOS SANTOS’)
2. Funções de conversão
Uma função de conversão modifica o tipo de dado de um atributo conhecido.
CAST
A função CAST requer o fornecimento de dois parâmetros, que são: o atributo que
será convertido; a representação do tipo de dado que o atributo passará a aceitar.
Função de Conversão
Fonte: Plataforma Deduca (2021).
#PraCegoVer: Imagem que representa um globo com fundo azul e símbolos ao
redor.
9
Atenção
CREATE FUNCTION nome_funcao(parametros)
RETURNS tipo_dados codigo_funcao
O uso de uma função é feito por meio dos seguintes comandos:
Atenção
SELECT nome_funcao(parametros)
As funções podem ser criadas de acordo com as necessidades do usuário/
desenvolvedor. Podem ser originadas, por exemplo, funções para o cálculo de
multiplicação entre dois valores. Vejamos o exemplo:
Atenção
CREATE FUNCTION mutiplicacao_dois_valores(primeiro_valor DE-
CIMAL(10,2), segundo_valor DECIMAL(10,2))
RETURNS DECIMAL(10,2)
RETURN primeiro_valor * segundo_valor;
Após criar a função do exemplo anterior, ela pode ser utilizada ao passarmos os
parâmetros desejados, ou seja, os dois valores a serem multiplicados. No exemplo a
seguir, a função retorna o valor 80, resultado da multiplicação dos valores 5 e 16:
10
Atenção
SELECT multiplicacao_dois_valores(5, 16)
Depois de armazenada, a função pode ser chamada quantas vezes forem
necessárias para operar suas funcionalidades.
11
Fechamento
Hoje, terminamos de abordar todos os tipos de funções SQL. Assim, podemos
entender que as funções SQL é um dos meios utilizados para o desenvolvimento de
relatórios de consultas mais complexas.
12
Referências
ELMASRI, R. N. Sistema de banco de dados. 6. ed. São Paulo: Pearson, 2010.
HEUSER, C. A. Projeto de banco de dados. Porto Alegre: Bookman, 2011.
MACHADO, F. R. Banco de dados: projeto e implementação. São Paulo: Érica, 2014.
13