Consulta de Seleção do MySQL - Obtenha apenas os 10 primeiros caracteres de um valor

126

Ok, então aqui está o problema.

Eu tenho uma tabela com algumas colunas e 'subject' é uma das colunas. Preciso obter as 10 primeiras letras do campo 'assunto', independentemente do campo 'assunto' conter uma sequência com 100 letras.

Por exemplo,

Tabela - tbl. Colunas - id, subject, value.

Consulta SQL:

SELECT subject FROM tbl WHERE id ='$id';

O resultado que estou obtendo é, por exemplo

Olá, este é o meu assunto e como você está

Eu só preciso dos 10 primeiros caracteres

Olá thi

Entendo que posso remover o restante dos caracteres usando php substr (), mas isso não é possível no meu caso. Eu preciso remover o excesso de caracteres pelo MySQL. Como isso pode ser feito?

getvivekv
fonte

Respostas:

276

Usando a linha abaixo

SELECT LEFT(subject , 10) FROM tbl 

Doc. MySQL

MuhammadHani
fonte
43
SELECT SUBSTRING(subject, 1, 10) FROM tbl
Rajesh Paul
fonte
Sinto que esta é a resposta mais completa, pois LEFTpode não tratar de detalhes (sim, como os levantados pelo OP) que lidam com extrações que precisam iniciar no meio da cadeia.
d8aninja
15

Dê uma olhada em Left ou Substring, se precisar cortá-lo ainda mais.

Os documentos do Google e do MySQL são um bom ponto de partida - você normalmente não receberá uma resposta tão calorosa se nem tentou se ajudar antes de fazer uma pergunta.

Steve
fonte
4
Uma amostra teria sido um pouco mais útil.
Rocco The Taco
6
@RoccoTheTaco Eu discordo totalmente - também seu voto negativo é muito duro. leia http://stackoverflow.com/questions/how-to-asko primeiro ponto é Have you thoroughly searched for an answer before asking your question?. Esta pergunta é tão facilmente respondida por uma pesquisa simples e rápida no Google. Eu não queria apenas dar ao OP a resposta que queria mostrar a eles como encontrar a resposta - muito mais útil na minha opinião.
Steve
13
Entendo o que @Steve está dizendo (faz sentido), mas vim aqui do Google. Sim, a pergunta original era preguiçosa, mas o fato de eu não precisar ir a outro lugar me ajudou. Também é bom que o SO esteja criando uma biblioteca de respostas para perguntas simples como essas. Igualmente equivale a mais $ publicidade para SO.
sterfry68