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():
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.
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ãoLTRIM() 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_addressTecnologia
A consulta retorna o seguinte resultado:
trimmed_address|ltrimmed_address|rtrimmed_address|---------------+----------------+----------------+
Street Roma,72|Street Roma,72| Street Roma,72|Tecnologia
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 +:
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:
first_character|first_3characters|first_5characters|---------------+-----------------+-----------------+
A |Ant |Anton |Tecnologia
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:
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_addressTecnologia
Este é o resultado:
address |cleaned_address |----------------+----------------+
Street Roma -32|Street Roma ,32|Tecnologia
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_dashTecnologia
A consulta retorna o seguinte resultado:
address |length_address|location_dash|----------------+--------------+-------------+
Street Roma -32|16|13|Tecnologia
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.
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.
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
Domine os fundamentos do SQL necessários para os negócios, aprenda a escrever consultas SQL e comece a analisar seus dados usando essa linguagem poderosa.
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:
Concatenação de strings no SQL
Podemos concatenar duas ou mais cadeias de caracteres usando a função
concat():Este é o resultado:
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():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
Retorna o texto com todos os caracteres em minúsculas
Retorna o texto com todos os caracteres em maiúsculas
Remove espaços em branco dos lados esquerdo e direito da string por padrão, caractere especial se especificado
Remove espaços em branco da esquerda da cadeia de caracteres por padrão, caractere especial se especificado
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.
Você tem o seguinte resultado:
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ãoLTRIM()eRTRIM()para excluir espaços em branco, respectivamente, dos lados esquerdo e direito:A consulta retorna o seguinte resultado:
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 +:O resultado retornado é o seguinte:
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:
Este é o resultado:
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:
Essa consulta retorna o seguinte resultado:
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
Substituir o valor x na string pelo valor y
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:Este é o resultado:
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:
A consulta retorna o seguinte resultado:
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,
CHARINDEXpode ser substituído porLOCATE()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.