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?

Respostas:



43
SELECT SUBSTRING(subject, 1, 10) FROM tbl

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.