Pular para o conteúdo principal

Funções de cadeia de caracteres SQL: Um guia para iniciantes

Entenda como usar as SQL String Functions para limpar e processar dados de texto com eficiência.
Actualizado 15 de jan. de 2025  · 7 min de leitura

O trabalho com bancos de dados relacionais geralmente envolve a manipulação de dados confusos. Um dos desafios mais comuns é a limpeza e o processamento de dados de texto. Felizmente, o SQL oferece funções de cadeia de caracteres poderosas que podem tornar esse processo muito mais eficiente, economizando tempo e esforço para você.

Neste artigo, vamos explorar as funções de cadeia de caracteres SQL mais importantes que podem ajudar você a limpar e manipular dados de texto com facilidade. Vamos começar!

O que são funções de cadeia de caracteres SQL?

As SQL String Functions são funções integradas que nos permitem manipular e processar dados de texto armazenados em um banco de dados. Exemplos comuns de campos de texto incluem nomes, descrições e endereços.

Essas funções podem ser usadas para executar uma ampla gama de tarefas, incluindo:

  • Concatenar cadeias de caracteres 
  • Formatação de texto
  • Extração de partes de uma cadeia de caracteres
  • Pesquisar e substituir texto específico em uma string

Concatenação de strings no SQL

Podemos concatenar duas ou mais cadeias de caracteres usando a função concat():

SELECT CONCAT('Street Roma',', ','72',', ','Padova') AS full_address

Este é o resultado:

full_address           |
-----------------------+
Street Roma, 72, Padova|

Essa função é amplamente usada para combinar informações fornecidas por diferentes colunas, como nomes e endereços.

Como alternativa, você também pode usar a função CONCAT_WS():

SELECT CONCAT_WS(',','Street Roma','72','Padova') as full_address

Pela sintaxe, você pode notar que é mais fácil e eficiente em situações em que você deseja combinar mais de duas colunas com o mesmo separador.

Formatação de texto

Essas são várias funções de cadeia de caracteres SQL para ajustar o texto alterando as letras maiúsculas e minúsculas, removendo espaços extras e outras operações. Cada função é listada com sua sintaxe e a descrição correspondente.

Sintaxe da função

Descrição

LOWER(string)

Retorna o texto com todos os caracteres em minúsculas

UPPER(string)

Retorna o texto com todos os caracteres em maiúsculas

 TRIM(string, [character])

Remove espaços em branco dos lados esquerdo e direito da string por padrão, caractere especial se especificado

LTRIM(string, [character])

Remove espaços em branco da esquerda da cadeia de caracteres por padrão, caractere especial se especificado

RTRIM(string, [character])

Remove espaços em branco da direita da cadeia de caracteres por padrão, caractere especial se especificado

Agora, vamos mostrar alguns exemplos para que você entenda como aplicar essas funções. Imagine um exemplo em que você tem endereços de e-mail com caracteres maiúsculos e a sigla do estado em minúsculas, e deseja alterar para corrigir o formato dessas colunas.

SELECT
		LOWER('ANONymous@gmail.com') AS email,
		UPPER('it') AS country

 Você tem o seguinte resultado:

email              |country|
-------------------+-------+
anonymous@gmail.com|IT     |

Além de alterar as maiúsculas e minúsculas, também pode ser útil eliminar os espaços em branco na frente ou no final das cadeias de caracteres. A principal função desse tipo de operação é TRIM() remover de ambos os lados. Outras alternativas são LTRIM() e RTRIM() para excluir espaços em branco, respectivamente, dos lados esquerdo e direito:

SELECT  TRIM(' Street Roma, 72 ') AS trimmed_address,
	  LTRIM(' Street Roma, 72 ') AS ltrimmed_address,
	  RTRIM(' Street Roma, 72 ') AS rtrimmed_address

A consulta retorna o seguinte resultado:

trimmed_address|ltrimmed_address|rtrimmed_address|
---------------+----------------+----------------+
Street Roma, 72|Street Roma, 72 | Street Roma, 72|

Na saída, você pode perceber as diferenças entre cada função. Além disso, o TRIM() pode ser aplicado para remover outros caracteres especiais, além de espaços em branco. Por exemplo, queremos limpar o campo do telefone, eliminando o sinal +:

SELECT TRIM('++345','+') AS telephone

O resultado retornado é o seguinte:

telephone|
---------+
345      |

Como você pode ver, o número de telefone está completamente limpo.

Extração de texto

Depois de concatenar e modificar o formato das cadeias de caracteres, é hora de descobrir como extrair o texto usando a função SQL especial SUBSTRING(). Vamos mostrar diferentes exemplos para você dominar essa função:

SELECT
		SUBSTRING('Antony',1,1) AS first_character, 
		SUBSTRING('Antony',1,3) AS first_3characters,
		SUBSTRING('Antony',1,5) AS first_5characters

Este é o resultado:

first_character|first_3characters|first_5characters|
---------------+-----------------+-----------------+
A              |Ant              |Anton            |

Também podemos combinar essa função com as funções anteriores para colocar o primeiro caractere em maiúscula, convertendo o restante das letras em minúsculas e, em seguida, concatenando todas as letras:

SELECT
LENGTH('antony') AS lenght_name,
SUBSTRING(UPPER('antony'),1,1) AS first_character,
SUBSTRING(LOWER('antony'),2,LENGTH('antony')) AS  last_characters,
CONCAT(SUBSTRING(UPPER('antony'),1,1),SUBSTRING(LOWER('antony'),
      2,LENGTH('antony'))) AS name

Essa consulta retorna o seguinte resultado:

lenght_name|first_character|LAST_characters|name  |
-----------+---------------+---------------+------+
          6|A              |ntony          |Antony|

Além das funções vistas até agora, você pode observar a função LENGTH() que ajuda a extrair o comprimento da cadeia de caracteres. Nesse contexto, é útil especificar o índice do último caractere.

Pesquisar e substituir strings no SQL

Podemos mostrar as funções mais importantes para pesquisar e substituir cadeias de caracteres:

Sintaxe da função

Descrição

REPLACE(string,x,y)

Substituir o valor x na string pelo valor y

CHARINDEX(x,string)

Encontre a posição do valor x na cadeia de caracteres

Uma função muito útil é REPLACE() para substituir uma substring por outra substring dentro da string:

SELECT
		'Street Roma - 32' AS address,
		replace('Street Roma - 32','-',',') AS cleaned_address

Este é o resultado:

address         |cleaned_address |
----------------+----------------+
Street Roma - 32|Street Roma , 32|

Nesse caso, apenas substituímos um traço por uma vírgula dentro do endereço. Também podemos tentar encontrar a posição do traço no endereço:

SELECT
		'Street Roma - 32' AS address,
		LENGTH('Street Roma - 32') AS length_address,
		CHARINDEX('-','Street Roma - 32') AS location_dash

A consulta retorna o seguinte resultado:

address         |length_address|location_dash|
----------------+--------------+-------------+
Street Roma - 32|            16|           13|

Podemos observar que o símbolo - está na posição 13 do endereço, principalmente no final da cadeia de caracteres.

Conclusão

O domínio dessas funções de cadeia de caracteres SQL pode fazer a diferença na limpeza eficiente dos dados. Obviamente, o artigo não aborda todas as funções, mas apenas uma pequena lista das funções mais importantes. Nem todas as funções SQL são sempre válidas e podem mudar dependendo do tipo de banco de dados que você está usando. Por exemplo, CHARINDEX pode ser substituído por LOCATE() em um banco de dados MySQL. 

Para praticar com essas funções, você pode conferir o nosso Relatórios em SQL para você. Ele pode ajudar você a se tornar um especialista na limpeza de dados e na criação de relatórios complexos. Também recomendamos o Fundamentos de SQL para que você possa cobrir todos os aspectos essenciais do SQL.


Eugenia Anello's photo
Author
Eugenia Anello
LinkedIn
Temas

Principais cursos de SQL

programa

SQL Fundamentals

26hrs hr
Master the SQL fundamentals needed for business, learn how to write SQL queries, and start analyzing your data using this powerful language.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

tutorial

FUNÇÃO SQL FORMAT()

FORMAT() é uma das funções mais comumente usadas no SQL. Aprenda suas principais aplicações neste tutorial.
Travis Tang 's photo

Travis Tang

3 min

tutorial

Função SQL COALESCE

COALESCE() é uma das funções mais úteis do SQL. Leia este tutorial para saber como dominá-lo.
Travis Tang 's photo

Travis Tang

4 min

tutorial

FUNÇÃO SQL COUNT()

COUNT() permite que você conte o número de linhas que correspondem a determinadas condições. Saiba como usá-lo neste tutorial.
Travis Tang 's photo

Travis Tang

3 min

tutorial

Introdução aos acionadores SQL: Um guia para desenvolvedores

Saiba como usar os acionadores SQL para automatizar tarefas, manter a integridade dos dados e melhorar o desempenho do banco de dados. Experimente exemplos práticos como os comandos CREATE, ALTER e DROP no MySQL e no Oracle.
Oluseye Jeremiah's photo

Oluseye Jeremiah

13 min

tutorial

Como usar GROUP BY e HAVING no SQL

Um guia intuitivo para você descobrir os dois comandos SQL mais populares para agregar linhas do seu conjunto de dados
Eugenia Anello's photo

Eugenia Anello

6 min

tutorial

Exemplos e tutoriais de consultas SQL

Se você deseja começar a usar o SQL, nós o ajudamos. Neste tutorial de SQL, apresentaremos as consultas SQL, uma ferramenta poderosa que nos permite trabalhar com os dados armazenados em um banco de dados. Você verá como escrever consultas SQL, aprenderá sobre
Sejal Jaiswal's photo

Sejal Jaiswal

21 min

Ver maisVer mais