Função MySQL LEFT()

Resumo : neste tutorial, você aprenderá como usar a LEFT()função MySQL para retornar a parte esquerda de uma string com um comprimento especificado.

Introdução à função MySQL LEFT

No MySQL, a LEFTfunção permite extrair a parte esquerda de uma string com um comprimento especificado.

O seguinte mostra a sintaxe da LEFTfunção.

LEFT(str,length);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A LEFTfunção aceita dois argumentos:

  1. A stré a string da qual você deseja extrair a substring.
  2. O é um número inteirolength positivo que especifica o número de caracteres que serão retornados.

A LEFTfunção retorna os lengthcaracteres mais à esquerda da strstring. Ele retorna um NULLvalor se um strou lengtho argumento for NULL.

Se lengthfor zero ou negativo, a LEFTfunção retornará uma string vazia. Se lengthfor maior que o comprimento da strstring, a função retornará a string LEFTinteira .str

Observe que a função SUBSTRING (ou SUBSTR ) também fornece a mesma funcionalidade da LEFTfunção.

Exemplos de funções MySQL LEFT()

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

1) Usando a função MySQL LEFT() com exemplo de strings literais

A instrução a seguir usa a LEFTfunção para retornar os 5 caracteres mais à esquerda da string MySQL LEFT.

SELECT LEFT('MySQL LEFT', 5);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Experimente

Exemplo MySQL ESQUERDO

A instrução a seguir retorna a string inteira porque o comprimento excede o comprimento da string.

SELECT LEFT('MySQL LEFT', 9999);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Experimente

Exemplo de função ESQUERDA do MySQL

As instruções a seguir retornam uma string vazia porque o comprimento é zero ou negativo.

SELECT LEFT('MySQL LEFT', 0);
SELECT LEFT('MySQL LEFT', -2);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
A função MySQL LEFT retorna string vazia

A instrução a seguir retorna um NULLvalor porque o comprimento é NULL:

SELECT LEFT('MySQL LEFT', NULL);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Experimente

A função MySQL LEFT retorna NULL

2) Usando a função MySQL LEFT() com dados da tabela

Vamos dar uma olhada na productstabela no banco de dados de exemplo :

Suponha que você queira exibir o nome e a descrição do produto em um catálogo. A descrição do produto é longa, portanto, você deseja usar apenas os primeiros 50 caracteres para exibição.

A instrução a seguir usa a LEFT()função para retornar os primeiros 50 caracteres da descrição do produto.

SELECT 
    productname, LEFT(productDescription, 50) summary
FROM
    products;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Experimente

Resumo MySQL ESQUERDO

A LEFTfunção retorna os primeiros 50 caracteres. Não se importa com palavras.

Você deseja obter os primeiros 50 caracteres sem cortar a palavra no meio. Para conseguir isso, você usa as seguintes etapas:

1) Pegue os 50 caracteres mais à esquerda da productDescriptioncoluna.

SELECT 
    LEFT(productdescription, 50)
FROM
    products;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Experimente

2) Inverta a substring usando a REVERSEfunção.

SELECT 
    REVERSE(LEFT(productdescription, 50))
FROM
    products;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Experimente

3) Obtenha a posição do primeiro espaço na substring invertida usando a LOCATEfunção.

SELECT 
    LOCATE(' ',REVERSE(LEFT(productdescription, 50))) first_space_pos
FROM
    products;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Experimente

4) Menos 1 da posição. Caso não encontre espaço, mantenha a posição zero.

SELECT
    IFNULL(NULLIF(LOCATE(' ', REVERSE(LEFT(productDescription, 50))), 0) - 1, 0)
FROM
    products;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Experimente

5) Menos a posição de 50, você conseguiu a posição. Vamos chamá-lo comolast_space_pos.

SELECT
	productDescription,
	(50 - IFNULL(NULLIF(LOCATE(' ', REVERSE(LEFT(productDescription, 50))), 0) - 1, 0)) last_space_pos
FROM
    products;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Experimente

6) Pegue os last_space_poscaracteres mais à esquerda da descrição do produto.

SELECT 
    productDescription, LEFT(productDescription, last_space_pos)
FROM
    (SELECT 
        productDescription,
            (50 - IFNULL(NULLIF(LOCATE(' ', REVERSE(LEFT(productDescription, 50))), 0) - 1, 0)) last_space_pos
    FROM
        products) AS t;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Experimente

Exemplo complexo da função MySQL LEFT

Resumo

  • Use a função MySQL LEFT()para retornar a parte esquerda de uma string com um comprimento especificado.

Deixe um comentário

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