Olá, eu sou Danielle Oliveira, instrutora da Escola de Dados, e vou acompanhar você neste curso sobre as funções de string no SQL.
Audiodescrição: Danielle se identifica como uma mulher de pele morena. Possui cabelos cacheados castanhos e olhos castanhos. No corpo, veste uma camiseta preta. Está sentada em uma cadeira. Ao fundo, há uma parede branca iluminada em tons de verde e azul, com duas pequenas prateleiras contendo decorações que representam o Nordeste.
Para colocar em prática todos os conhecimentos adquiridos até este momento, vamos iniciar nosso estudo e prática conhecendo mais sobre as funções que vamos relembrar durante este curso.
Temos uma diversidade de funções de string, que podem variar de acordo com a ferramenta ou SGBD (Sistema de Gerenciamento de Banco de Dados) que escolhemos utilizar no dia a dia. Neste curso, vamos conhecer especificamente seis delas:
CONCAT()
;LENGTH()
;SUBSTRING()
;LOWER()
;TRIM()
;REPLACE()
.Além de variarem, essas funções também podem mudar a nomenclatura e a forma como são escritas, dependendo da ferramenta. Por exemplo, podemos encontrar ferramentas em que a função SUBSTRING()
é escrita completa e outras em que é escrita apenas como SUBST
. Elas possuem a mesma funcionalidade, a mudança existe apenas na nomenclatura.
Além disso, há uma diversidade de outras funções que também podemos utilizar. Portanto, não se prenda apenas às que vamos abordar durante este curso.
Vamos começar a conhecer e relembrar mais sobre essas funções.
CONCAT()
A primeira função que vamos abordar é a CONCAT()
. Essa função é utilizada para concatenar (juntar) strings e formar uma única string no momento em que retornamos o resultado.
Abaixo, temos um exemplo da estrutura de um comando utilizando essa função:
SELECT
CONCAT(nome, ' ', sobrenome) AS nome_completo
FROM clientes;
Temos um SELECT
, e logo nessa cláusula, utilizamos a função CONCAT()
. Para essa função, especificamos os campos que queremos concatenar — por exemplo, nome
e sobrenome
. Se temos uma tabela de pessoas clientes e queremos que duas informações armazenadas em colunas diferentes sejam apresentadas em uma única coluna, devemos especificá-las e separá-las com um espaço (' '
), adicionando vírgula entre os elementos.
Também informamos um alias (apelido) para o novo campo que será criado na tabela — nesse caso, nome_completo
.
O resultado é o seguinte:
Resultado da consulta sem utilizar a função
CONCAT()
:
nome sobrenome João Silva Maria Oliveira Carlos Souza
Sem a utilização da função CONCAT()
, temos duas colunas com o nome e o sobrenome das pessoas clientes.
Resultado da consulta utilizando a função
CONCAT()
:
nome_completo João Silva Maria Oliveira Carlos Souza
Usando CONCAT()
, trazemos essas informações em um único resultado, que resulta na estrutura acima, junta em um único campo. Além disso, no título da coluna, exibimos o alias criado para não exibir o nome da função que cria o campo.
LENGTH()
Além da função CONCAT()
, vamos abordar a função LENGTH()
. Utilizamos LENGTH()
quando queremos obter o comprimento de uma string.
Abaixo, temos um exemplo de comando utilizando essa função:
SELECT
nome_producto,
LENGTH(nome_producto) AS tamanho_nome
FROM produtos;
Em uma tabela de produtos, que possui o nome do produto, é importante que o nome do produto seja bem apresentado ao emitir um cupom fiscal. Para isso, precisamos identificar o maior número de caracteres.
Usamos LENGTH()
especificando a função dentro do SELECT
. Passamos o nome do produto e a função LENGTH()
, especificando o campo de texto do qual queremos obter o comprimento da string.
Também especificamos um alias pois criaremos um novo campo. Por fim, especificamos o nome da tabela.
O resultado será assim:
Resultado da consulta com a função
LENGTH()
:
nome_produto tamanho_nome Notebook Profissional A1 24 Smartphone XYZ Pro 18 Cafeteira Elétrica Max 22
Temos um SELECT
que retorna o nome do produto e o tamanho da string à sua direita, obtido utilizando a função LENGTH()
.
SUBSTRING()
Além dessas funções, vamos conhecer a função SUBSTRING()
, utilizada para extrair partes de uma string.
Abaixo, temos um exemplo de comando utilizando essa função:
SELECT
numero_telefone,
SUBSTRING(numero_telefone, 1, 3) AS codigo_area
FROM fornecedores;
Nesse exemplo, queremos extrair o DDD ou os números de área de um telefone. Especificamos essa função dentro do SELECT
, passando o campo numero_telefone
e a função SUBSTRING()
e alguns parâmetros, como as posições dos caracteres inicial (1
) e final (3
).
Também especificamos o alias codigo_area
para especificar a função do campo criado. Por fim, especificamos o nome da tabela.
O resultado ficará assim:
Resultado da consulta com a função
SUBSTRING()
:
numero_telefone codigo_area +1-800-555-0101 +1- +1-800-555-0202 +1- +1-800-555-0303 +1-
A função SUBSTRING()
também é interessante para manipular strings armazenadas no banco de dados.
LOWER()
Agora, vamos conhecer a função LOWER()
, que converte strings para minúsculas, padronizando-as apenas durante a execução da consulta. É útil quando temos campos com strings não padronizadas, com caracteres maiúsculos, minúsculos ou misturados.
Abaixo, temos um exemplo de comando utilizando essa função:
SELECT
LOWER(cidade) AS cidade_padronizada
FROM clientes;
Nele, especificamos no LOWER()
a tabela de cidades, criamos um alias cidade_padronizada
para ser exibido no título do novo campo e especificamos a tabela de pessoas clientes.
O resultado ficou assim:
Resultado da consulta sem a função
LOWER()
:
cidade São PAULO Rio de Janeiro BELO Horizonte
Sem o LOWER()
, os dados do campo são exibidos conforme o banco. Algumas cidades possuem uma mistura de letras maiúsculas e minúsculas de forma não padronizada.
Resultado da consulta com a função
LOWER()
:
cidade_padronizada são paulo rio de janeiro belo horizonte
Com LOWER()
, todos os nomes das cidades estarão em minúsculas, apresentando-se melhor.
TRIM()
Além de LOWER()
, temos a função TRIM()
, que remove espaços desnecessários de strings. Isso é comum quando a pessoa usuária final insere dados extras no sistema, como espaços antes ou após a string. Isso pode afetar relatórios e buscas no banco de dados. Usamos funções mais específicas como o TRIM()
para resolver essa questão.
Abaixo, temos um exemplo de comando utilizando essa função:
SELECT
TRIM(nome_categoria) AS categoria_limpa
FROM categorias_produto;
Para esta função, especificamos apenas o campo no qual queremos remover esses espaços — neste caso, o nome_categoria
. Usamos o alias categoria_limpa
para este campo, e por fim, especificamos a tabela categorias_produto
.
O resultado da consulta será assim:
Resultado da consulta sem a função
TRIM()
:
nome_categoria ' Eletrônicos' 'Telefonia ' ' Eletrodomésticos '
Sem TRIM()
, o retorno possui categorias com espaços antes e depois. As aspas simples nos ajudam a percebê-los.
Resultado da consulta com a função
TRIM()
:
categoria_limpa 'Eletrônicos' 'Telefonia' 'Eletrodomésticos'
Com TRIM()
, os espaços são removidos, apresentando os nomes das categorias de forma mais limpa.
REPLACE()
Além da função TRIM()
, conheceremos a função REPLACE()
, utilizada para substituir partes de uma string.
Abaixo, temos um exemplo dessa função:
SELECT
REPLACE(nome_produto, 'Notebook', 'Not') AS novo_nome
FROM produtos;
No comando SELECT
, passamos a função REPLACE()
com três parâmetros: o campo a ser substituído, a string atual e a nova string. Por exemplo, substituímos "Notebook" por "Not" no campo nome_produto
da tabela de produtos.
Por fim, usamos o alias novo_nome
e referenciamos a tabela de produtos.
Lembrando que essa alteração só ocorre durante a execução da consulta. A string permanecerá inalterada no banco de dados.
O resultado é o seguinte:
Resultado da consulta antes do
REPLACE()
:
nome_produto 'Notebook Profissional A1'
Sem o REPLACE()
, o resultado seria "Notebook Profissional A1", conforme armazenado no banco.
Resultado da consulta depois do
REPLACE()
:
novo_nome 'Not Profissional A1'
Com REPLACE()
, temos "Not profissional A1", substituindo "Notebook" por "Not".
Podemos combinar essas funções para elaborar consultas mais avançadas. Abaixo, temos um exemplo disso:
SELECT
id,
TRIM(LOWER(descricao)) AS descricao_formatada
FROM produtos;
Na tabela de produtos, selecionamos o ID do produto e a descrição, que está despadronizada e com espaços. Associamos TRIM()
e LOWER()
para remover espaços e padronizar em minúsculas.
O resultado é o seguinte:
Resultado da consulta sem as funções COMBINADAS:
descricao ' notebook de alto DESEMPENHO para profissionais' 'smartphone com a melhor câmera do MERCADO ' ' Cafeteira rápida e eficiente para SEU café da manhã '
Antes de combinar as funções, a descrição dos produtos teria espaços extras e variações de maiúsculas e minúsculas.
Resultado da consulta com as funções COMBINADAS:
descricao_formatada 'notebook de alto desempenho para profissionais' 'smartphone com a melhor câmera do mercado' 'Cafeteira rápida e eficiente para seu café da manhã'
Combinando as funções, a string é formatada e o resultado é mais apresentável.
Essas são algumas formas de utilizar as funções de string. Estudamos:
CONCAT()
para concatenar strings;LENGTH()
para retornar o tamanho de uma string;SUBSTRING()
para extrair partes de uma string;LOWER()
para converter strings em minúsculas;TRIM()
para remover espaços;REPLACE()
para substituir uma string por outra.Essas são apenas algumas funções que podemos conhecer e utilizar no dia a dia.
Após relembrar essas funções, é hora de colocar a mão na massa e se desafiar a resolver atividades utilizando essas e outras funções disponíveis. Como forma de apoio, disponibilizaremos entre as atividades do curso um glossário e o slide utilizado no vídeo.
Em caso de dúvidas, não deixe de recorrer ao nosso fórum de discussão ou à nossa comunidade do Discord.
Até a próxima!
O curso Praticando SQL: entendendo funções de string possui 17 minutos de vídeos, em um total de 13 atividades. Gostou? Conheça nossos outros cursos de SQL e Banco de Dados em Data Science, ou leia nossos artigos de Data Science.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.