157

好的,这就是问题所在。

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

例如,

表 - tbl。列 - id, subject, value.

SQL查询:

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

我得到的结果是,例如

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

我只需要前 10 个字符

你好,你好

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

4

3 回答 3

322

使用下面的行

SELECT LEFT(subject , 10) FROM tbl 

MySQL 文档。

于 2013-02-19T13:54:09.793 回答
55
SELECT SUBSTRING(subject, 1, 10) FROM tbl
于 2013-10-24T07:24:08.997 回答
13

Have a look at either Left or Substring if you need to chop it up even more.

Google and the MySQL docs are a good place to start - you'll usually not get such a warm response if you've not even tried to help yourself before asking a question.

于 2013-02-19T13:55:58.277 回答