我使用TinyMCE允许用户写入最终将提交到数据库的内容。
TinyMCE包含一个按钮,它将插入一个“pagebreak”(实际上只是一个HTML注释)。
以后如何才能将所有内容拉回到pagebreak“标记”的第一次出现?在标记之后可能会有大量的数据,我可以在以后通过php丢弃这些数据,但看起来我甚至不应该把它们带回来。所以,如果我不知道<!--pagebreak-->会深入到数据的多远,我就可以SELECT只是列的一部分吗?
编辑:
下面的答案确实有效,会帮我找到我需要去的地方。。我只是好奇,如果有一个同样简单的方法来处理整个列,如果它是短的,因此页面中断标签不存在。使用下面的解决方案,如果找不到pagebreak,则返回空字符串。
如果不是,那么我可以很容易地在代码中处理它。

最佳答案

像这样的事情会让你的一切都达到<!--

SELECT SUBSTRING(my_col FROM 1 FOR POSITION('<!--' IN my_col)-1) AS a_chunk
  FROM my_table

Reference for string functions
编辑:
把OMG小马的话放到SQL中:
SELECT CASE WHEN position('<!--' IN my_col) > 0
            THEN SUBSTRING(my_col FROM 1 FOR POSITION('<!--' IN my_col)-1)
            ELSE my_col END AS a_chunk
  FROM my_table

听起来您还需要检查文本的长度;是否有分页符。您可以使用CHARACTER_LENGTH()来实现这一点。

关于select - mysql检索部分列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3887344/

10-12 06:22