MySQL Select查询-仅获取值的前10个字符


125

好的,这就是问题所在。

我有一个带有一些列的表,“主题”是列之一。无论“主题”字段包含具有100个字母的字符串,我都需要从“主题”字段中获取前10个字母。

例如,

表- tbl。列- ,id,。subjectvalue

SQL查询:

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

例如,我得到的结果是

你好,这是我的主题,你好吗

我只需要前10个字符

你好

我知道我可以使用php substr()删除其余字符,但是在我的情况下是不可能的。我需要获取MySQL删除的多余字符。如何才能做到这一点?

Answers:



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

我觉得这是更完整的答案,因为LEFT可能未涉及处理需要从中间字符串开始的提取的具体问题(是的,就像OP提出的那样)。
d8aninja

14

如果需要进一步切碎,请查看LeftSubstring

Google和MySQL文档是一个很好的起点-如果您在提出问题之前甚至没有试图帮助自己,通常不会得到如此热情的答复。


4
样本本来会有所帮助。
Rocco Taco 2014年

6
@RoccoTheTaco我完全不同意-您的否决也非常严厉。阅读http://stackoverflow.com/questions/how-to-ask的第一点是Have you thoroughly searched for an answer before asking your question?。通过简单,快速的Google搜索,可以轻松回答此问题。我不仅仅是想给OP答案,我想向他们展示如何找到答案- 我认为很有用。
史蒂夫

13
我了解@Steve在说什么(说得通),但我来自Google。是的,最初的问题很懒,但是我不必去其他地方的事实帮助了我。SO正在建立这样的简单问题的答案库,这也很好。也等于为SO投放更多广告$。
sterfry68
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.