【问题标题】:How to take only a fragment of data from my database?如何只从我的数据库中获取一部分数据?
【发布时间】:2018-08-12 09:55:37
【问题描述】:

我正在使用 PHPMyadmin,并且我有一个名为 The_Job 的字段,其中有一份工作的大量描述。我创建了一个 .php 文档,在其中添加了一个包含数据库中所有行的动态表。 The_job 就是其中之一,我要做的只是将数据库字段 The_Job 中的数据片段添加到表中。

这意味着我必须以某种方式将文本缩减为有限的“x”个字符,并在末尾添加“...”。

我该怎么做?

【问题讨论】:

标签: php mysql database substring clob


【解决方案1】:

您没有提供任何数据和您尝试过的示例,但我假设您需要该字段中的一些字符,然后... SQL 函数 LEFT 就是您要查找的内容:

SELECT CONCAT(SUBSTR(The_Job, x, y),'...') FROM table

这会将字符 x 减去 y(因此您可以为字符 1 到 10 编写类似 SUBSTR(The_Job, 1, 10) 的内容

SELECT CONCAT(LEFT(The_Job, x),'...') FROM table

这将选择 The_Job 的前 x 个字符。

更新: 我改变了运营商||到 CONCAT。

【讨论】:

  • 虽然它现在通常可以正常工作,但有些奇怪。我现在正在使用这个:substr($row['The_Job'],0,145)。它的工作方式有点奇怪,在最后添加了一个奇怪的符号。这意味着它没有看到我的俄语编码。
  • @LaughinCoffin 你想使用mb_substr 这样它就不会砍掉多字节字符。但是在你的下一个问题中,你真的不需要这样做。
  • 值得说明的是,对于 SUBSTR,'x' 不能为 0,它应该为 1 以获得第一个字符。例如:SELECT SUBSTR(columnName, 1, y) 会给出一个从第一个字符开始到 'y' 的字符串。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-16
  • 2021-12-18
  • 2014-06-10
  • 2019-09-03
  • 2017-07-06
  • 1970-01-01
相关资源
最近更新 更多