A Linguagem de Consulta Estruturada visa dar aos usuários a capacidade de recuperar os dados no formato que desejarem. Neste artigo sobre uma substring em SQL, mostrarei como extrair um conjunto de caracteres de uma string. Os seguintes tópicos serão abordados neste artigo:
- O que é SQL?
- O que é SUBSTRING em SQL?
- Sintaxe:
- Exemplos de SUBSTRING:
- Use SUBSTRING em literais
- Use SUBSTRING na tabela com condições
- USE SUBSTRING em consultas aninhadas
Vamos começar!
O que é SQL?
SQL ou Structured Query Language é desenvolvido por Donald D.Chamberlin e é usado para gerenciar, acessar e recuperar dados em um banco de dados. Consiste em vários comandos segregados em 4 categorias (DDL, DML, DCL e TCL). SUBSTRING é um desses comandos em SQL, usado para recuperar um conjunto de caracteres da string especificada.
A seguir, neste artigo vamos nos aprofundar no que é SUBSTRING no SQL e como usá-lo.
O que é SUBSTRING em SQL?
SUBSTRING em SQL é uma função usada para recuperar caracteres de uma string. Com a ajuda desta função, você pode recuperar qualquer número de substrings de uma única string.
Sintaxe:
SUBSTRING(string, starting_value, length)
Aqui,
- String – Representa a string da qual você deve extrair um conjunto de caracteres.
- Valor_inicial – Isso representa a posição inicial da string. O primeiro caractere da string recebe o valor 1.
- Comprimento – Representa o número de caracteres que você deseja extrair.
Consulte a imagem abaixo para a representação pictórica de SUBSTRING em SQL.
Observação:
- A função SUBSTRING gerará um erro se o parâmetro de comprimento for negativo.
- O comprimento dos caracteres pode exceder o comprimento máximo da string original. Nesse cenário, a string inteira será extraída da posição inicial mencionada.
- Todos os três campos são obrigatórios nesta função
- Se a posição inicial for maior que o número máximo de caracteres na string, nada será retornado.
Já que você entendeu a sintaxe e as regras para usar a SUBSTRING no SQL, vamos agora discutir as várias maneiras de usá-la.
Exemplos de SUBSTRING:
Para sua melhor compreensão, dividi os exemplos nas seguintes seções:
-
- Use SUBSTRING em literais
- Use SUBSTRING na tabela com condições
- USE SUBSTRING em consultas aninhadas
Vejamos cada um deles.
Use SUBSTRING em literais
Quando você usa SUBSTRING em SQL para literais, ele extrai uma substring da string especificada com um comprimento e o início do valor inicial mencionado pelo usuário.
Exemplo 1
Escreva uma consulta para extrair uma substring da string “Edureka”, começando com 2 caracteres e deve conter 4 caracteres.
SELECT SUBSTRING(‘Edureka’, 2, 4);
Saída
dure
Exemplo 2
Escreva uma consulta para extrair uma substring de 8 caracteres, começando pelos 2 caracteres da string “Edureka”. Aqui, se você observar, precisamos extrair uma substring com o comprimento maior que o comprimento máximo da expressão.
SELECT SUBSTRING(‘Edureka’, 2, 8);
Saída
dureka
Use SUBSTRING na tabela com condições
Considere a tabela abaixo com o nome da tabela Clientes.
CustID | CustName | CustEmail |
1 | Anuj | |
2 | Akash | |
3 | Mitali | |
4 | Sonali | |
5 | Sanjay |
Se você deseja saber como criar uma tabela e inserir valores nela, consulte o artigo sobre a instrução CREATE e INSERT.
Exemplo 1
Escreva uma consulta para extrair uma substring de 3 caracteres, começando pelo 1 caractere para o CustName “Akash”.
SELECT SUBSTRING(CustName, 1, 3) FROM Customers WHERE CustName = ‘Akash’;
Saída
Aka
Exemplo 2
Escreva uma consulta para extrair uma substring até o final da string, começando pelo 2character do CustName “Akash”.
SELECT SUBSTRING(CustName, 2) FROM Customers WHERE CustName = ‘Akash’;
Saída
kash
Exemplo 3
Escreva uma consulta para extrair uma substring de 3 caracteres, começando pelos 2 caracteres para o CustName e ordene-o de acordo com o CustName.
SELECT CustName FROM Customers ORDER BY SUBSTRING(CustName, 2, 3);
Saída:
anj ita kas nuj ona
USE SUBSTRING em consultas aninhadas
Nesta seção deste artigo sobre uma substring em SQL, vamos entender como usar a função SUBSTRING em consultas aninhadas. Para entender o mesmo, vamos considerar a tabela Clientes, que consideramos acima.
Exemplo:
Escreva uma consulta para extrair todo o domínio da coluna CustEmail na tabela Customers.
SELECT CustEmail, SUBSTRING( CustEmail, CHARINDEX('@', CustEmail)+1, LEN(CustEmail)-CHARINDEX('@', CustEmail) ) Domain FROM Customers ORDER BY CustEmail;
Saída :
CustEmail | Domínio |
abc.com | |
xyz.com | |
pqr.com | |
abc.com | |
xyz.com |
Como o domínio começa após o caractere @, usamos a função CHARINDEX() para procurar o @character na coluna CustEmail. Em seguida, o resultado dessa função é usado para determinar a posição inicial e o comprimento da substring a ser extraída.
Então, pessoal é assim, você pode usar a função SUBSTRING no SQL, para recuperar dados. Com isso, chegamos ao fim deste artigo sobre SUBSTRING em SQL. Espero que você encontrou este artigo informativo.
Se você deseja saber mais sobre MySQL e conheça esse banco de dados relacional de código aberto, então confira nosso Treinamento de certificação de DBA MySQL que vem com treinamento ao vivo conduzido por instrutor e experiência em projetos na vida real. Este treinamento ajudará você a entender o MySQL em profundidade e a dominar o assunto.
Tem alguma pergunta para nós? Mencione-o na seção de comentários deste artigo e entrarei em contato com você.