Função MySQL SUBSTRING_INDEX

Resumo : neste tutorial, você aprenderá como usar a SUBSTRING_INDEX()função MySQL para obter uma substring de uma string antes de um número especificado de ocorrências do delimitador.

Visão geral da função MySQL SUBSTRING_INDEX()

A SUBSTRING_INDEX()função retorna uma substring de uma string antes de um número especificado de ocorrências do delimitador.

Aqui está a sintaxe da SUBSTRING_INDEX()função:

SUBSTRING_INDEX(str,delimiter,n)
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe:

  • stré a string da qual você deseja extrair uma substring.
  • delimiteré uma string que atua como um delimitador. A função realiza uma correspondência com distinção entre maiúsculas e minúsculas ao procurar o delimitador.
  • né um número inteiro que especifica o número de ocorrências do delimitador. O npode ser negativo ou positivo. Se nfor positivo, a função retorna todos os caracteres da esquerda da string até o nnúmero de ocorrências do delimitador. Se nfor negativo, a função retorna todos os caracteres até o nnúmero de ocorrências do delimitador.

Exemplos de funções MySQL SUBSTRING_INDEX()

Vejamos alguns exemplos de uso da SUBSTRING_INDEX()função.

1) Usando a função MySQL SUBSTRING_INDEX() com um número positivo de ocorrências de um delimitador

Veja o exemplo a seguir:

SELECT 
    SUBSTRING_INDEX('Hello World', 'l', 1);
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste exemplo, o delimitador é le o né 1, portanto, a função retorna todos os caracteres até a 1ª ocorrência do delimitador l.

Aqui está a saída:

+----------------------------------------+
| SUBSTRING_INDEX('Hello World', 'l', 1) |
+----------------------------------------+
| He                                     |
+----------------------------------------+
1 row in set (0.00 sec)
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

O seguinte mostra outro exemplo de uso da SUBSTRING_INDEX()função:

SELECT 
    SUBSTRING_INDEX('Hello World', 'l', 2);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+----------------------------------------+
| SUBSTRING_INDEX('Hello World', 'l', 2) |
+----------------------------------------+
| Hel                                    |
+----------------------------------------+
1 row in set (0.00 sec)        
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

E

SELECT 
    SUBSTRING_INDEX('Hello World', 'l', 3);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+----------------------------------------+
| SUBSTRING_INDEX('Hello World', 'l', 3) |
+----------------------------------------+
| Hello Wor                              |
+----------------------------------------+
1 row in set (0.00 sec)
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

2) Usando a função SUBSTRING_INDEX() com um número negativo de ocorrências de um delimitador

Veja o exemplo a seguir:

SELECT 
    SUBSTRING_INDEX('Hello World', 'l', -1);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste exemplo, o delimitador é le né -1, portanto, a função retorna todos os caracteres da direita da string até a 1ª ocorrência do caractere l, (contando da direita)

Aqui está a saída:

+-----------------------------------------+
| SUBSTRING_INDEX('Hello World', 'l', -1) |
+-----------------------------------------+
| d                                       |
+-----------------------------------------+
1 row in set (0.00 sec)
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Aqui está outro exemplo:

SELECT 
    SUBSTRING_INDEX('Hello World', 'l', - 2) result1,
    SUBSTRING_INDEX('Hello World', 'l', - 3) result2;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+---------+----------+
| result1 | result2  |
+---------+----------+
| o World | lo World |
+---------+----------+
1 row in set (0.00 sec)
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

3) Usando a função SUBSTRING_INDEX() com o exemplo de dados da tabela

Consulte a customerstabela a seguir do banco de dados de exemplo :

Este exemplo usa a SUBSTRING_INDEX()função para extrair os números das casas dos endereços de todos os clientes nos EUA:

SELECT 
    customerName,
    addressLine1,
    SUBSTRING_INDEX(addressLine1, ' ', 1) house_no
FROM
    customers
WHERE
    country = 'USA'
ORDER BY 
    customerName;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A imagem a seguir mostra a saída parcial:

Exemplo de função MySQL SUBSTRING_INDEX

Neste tutorial, você aprendeu como usar a SUBSTRING_INDEX()função MySQL para obter uma substring de uma string antes de um número especificado de ocorrências do delimitador.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *