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.