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

get*_*ekv 112 mysql sql select

好的,这就是问题所在.

我有一个包含一些列的表,'subject'是其中一列.无论'subject'字段是否包含100个字母的字符串,我都需要从'subject'字段中获取前10个字母.

例如,

表 - tbl.列- ,id,.subjectvalue

SQL查询:

SELECT subject FROM tbl WHERE id ='$id';
Run Code Online (Sandbox Code Playgroud)

我得到的结果是,例如

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

我只需要前10个字符

你好,这个

我可以理解我可以使用php substr()删除其余的字符,但在我的情况下这是不可能的.我需要通过MySQL删除多余的字符.如何才能做到这一点?

Muh*_*ani 253

使用以下行

SELECT LEFT(subject , 10) FROM tbl 
Run Code Online (Sandbox Code Playgroud)

MySQL Doc.


Raj*_*aul 41

SELECT SUBSTRING(subject, 1, 10) FROM tbl
Run Code Online (Sandbox Code Playgroud)


Ste*_*eve 15

如果您需要更多地将其砍掉,请查看LeftSubstring.

Google和MySQL文档是一个很好的起点 - 如果您在提问之前甚至没有尝试过帮助自己,通常也不会得到如此热烈的回应.

  • 我理解@Steve说的是什么(有道理),但我是从谷歌来的.是的,原来的问题很懒,但事实上我不必去其他地方帮助我.SO正在建立一个像这些简单问题的答案库,这也很好.也等于SO的广告$. (13认同)
  • @RoccoTheTaco我完全不同意 - 你的投票也非常苛刻.阅读`http:// stackoverflow.com/questions/how-to-ask`第一点是`你在问问题之前是否彻底搜索了答案?通过简单快速的Google搜索即可轻松解答此问题.我不只是想给OP一个答案,我想告诉他们如何找到答案 - *在我看来更多*更有用. (6认同)
  • 样本本来会更有帮助. (4认同)