Pular para o conteúdo principal
Documentos
FunçõesExpressõesKeywordsDeclaraçõesCláusulas

Função MySQL SUBSTRING()

A função `SUBSTRING()` do MySQL é usada para extrair uma substring de uma determinada string. Ele permite que você especifique a posição inicial e o comprimento da substring que deseja extrair.

Uso

A função `SUBSTRING()` é comumente usada quando você precisa recuperar uma parte específica de uma string para processamento ou formatação de dados. Ele ajuda a manipular cadeias de caracteres, dividindo-as em segmentos menores.

sql
SUBSTRING(string, position, [length])

Nessa sintaxe, `string` é a cadeia de caracteres de origem, `position` é o ponto de partida para a extração (índice baseado em 1) e `length` é opcional, especificando quantos caracteres você deve extrair. Se `length` for omitido, a substring se estenderá até o final da string. A `posição` também pode ser negativa, permitindo que a extração comece a partir do final da cadeia de caracteres.

Exemplos

1. Extração básica de substring

sql
SELECT SUBSTRING('Hello, World!', 8);

Este exemplo extrai a substring a partir do oitavo caractere, resultando em `'World!'`.

2. Extração com comprimento específico

sql
SELECT SUBSTRING('Database Management', 10, 6);

Aqui, a função extrai uma substring do 10º caractere, abrangendo 6 caracteres, produzindo `'Manage'`.

3. Uso da posição negativa

sql
SELECT SUBSTRING('Hello, World!', -6);

Isso demonstra a extração a partir do sexto caractere do final, resultando em `'World!'`.

4. Manipulação de comprimento que excede o comprimento da cadeia de caracteres

sql
SELECT SUBSTRING('MySQL', 3, 10);

Embora o comprimento especificado exceda o comprimento da cadeia de caracteres, a função retorna `'SQL'`, começando do terceiro caractere até o final.

5. Usando SUBSTRING() com dados de tabela

sql
SELECT SUBSTRING(customer_name, 1, 5)
FROM customers;

Os primeiros 5 caracteres de cada `customer_name` são extraídos da tabela `customers`, o que pode ser útil para criar abreviações ou códigos.

Dicas e práticas recomendadas

  • Fique atento às posições. Lembre-se de que o parâmetro `position` é baseado em 1, o que significa que ele começa a contar a partir de 1, não de 0. Também pode ser negativo para iniciar a extração a partir do final da cadeia.
  • Manuseie os comprimentos das cordas com cuidado. Se `length` exceder o comprimento da string, `SUBSTRING()` retornará os caracteres restantes sem erro.
  • Use com `CHAR_LENGTH()`. Combine com `CHAR_LENGTH()` para determinar dinamicamente comprimentos e posições para operações de substring mais flexíveis.
  • Observe se há valores NULL. Se a `string` for `NULL`, `SUBSTRING()` retornará `NULL`. Considere usar `CASE` ou `IFNULL()` para lidar com possíveis nulos, como:
    sql
      SELECT IFNULL(SUBSTRING(name, 1, 5), 'N/A') FROM users;
      
  • Considere `SUBSTRING_INDEX()`. Use `SUBSTRING_INDEX()` ao trabalhar com delimitadores em strings para extrair substrings com base em uma contagem de delimitadores especificada.
  • Considerações sobre o desempenho. Tenha cuidado ao usar `SUBSTRING()` em grandes conjuntos de dados ou em consultas complexas, pois isso pode afetar o desempenho.

Aprimoramento de SQL para iniciantes

Adquira as habilidades de SQL para interagir com seus dados e consultá-los.
Comece a aprender de graça