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 LEFT
função permite extrair a parte esquerda de uma string com um comprimento especificado.
O seguinte mostra a sintaxe da LEFT
função.
LEFT(str,length);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A LEFT
função aceita dois argumentos:
- A
str
é a string da qual você deseja extrair a substring. - O é um número inteiro
length
positivo que especifica o número de caracteres que serão retornados.
A LEFT
função retorna os length
caracteres mais à esquerda da str
string. Ele retorna um NULL
valor se um str
ou length
o argumento for NULL
.
Se length
for zero ou negativo, a LEFT
função retornará uma string vazia. Se length
for maior que o comprimento da str
string, a função retornará a string LEFT
inteira .str
Observe que a função SUBSTRING (ou SUBSTR ) também fornece a mesma funcionalidade da LEFT
funçã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 LEFT
funçã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 )
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 )
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 instrução a seguir retorna um NULL
valor porque o comprimento é NULL
:
SELECT LEFT('MySQL LEFT', NULL);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
2) Usando a função MySQL LEFT() com dados da tabela
Vamos dar uma olhada na products
tabela 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 )
A LEFT
funçã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 productDescription
coluna.
SELECT
LEFT(productdescription, 50)
FROM
products;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
2) Inverta a substring usando a REVERSE
função.
SELECT
REVERSE(LEFT(productdescription, 50))
FROM
products;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
3) Obtenha a posição do primeiro espaço na substring invertida usando a LOCATE
função.
SELECT
LOCATE(' ',REVERSE(LEFT(productdescription, 50))) first_space_pos
FROM
products;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
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 )
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 )
6) Pegue os last_space_pos
caracteres 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 )
Resumo
- Use a função MySQL
LEFT()
para retornar a parte esquerda de uma string com um comprimento especificado.