Select mysql检索部分列

Select mysql检索部分列,select,mysql,Select,Mysql,我使用TinyMCE允许用户写入最终将提交到数据库的内容 TinyMCE包含一个按钮,该按钮将插入一个分页符,实际上只是一条HTML注释 我以后怎样才能将所有内容拉回到pagebreak标记的第一次出现?在标记之后可能会有一些重要的数据,我可以稍后通过php丢弃这些数据,但看起来我甚至不应该把它们带回来。如果我不知道数据的深度,我可以只选择一列的一部分吗 编辑: 下面的答案确实管用,可以帮我找到需要去的地方。。我只是好奇,如果整个专栏很短,因此pagebreak标签不存在,是否有一种同样简单的方

我使用TinyMCE允许用户写入最终将提交到数据库的内容

TinyMCE包含一个按钮,该按钮将插入一个分页符,实际上只是一条HTML注释

我以后怎样才能将所有内容拉回到pagebreak标记的第一次出现?在标记之后可能会有一些重要的数据,我可以稍后通过php丢弃这些数据,但看起来我甚至不应该把它们带回来。如果我不知道数据的深度,我可以只选择一列的一部分吗

编辑: 下面的答案确实管用,可以帮我找到需要去的地方。。我只是好奇,如果整个专栏很短,因此pagebreak标签不存在,是否有一种同样简单的方法来处理返回整个专栏的问题。使用下面的解决方案,如果没有找到分页符,将返回一个空字符串


如果没有,那么我可以在代码中轻松地处理它。

类似这样的内容应该可以让您了解:

编辑: 只是把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

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

为什么不在mysql表中创建另一列来存储位置的整数值呢。您将在脚本中计算该值,并在插入tinymce生成的html时存储该值


然后在以后的检索中,使用该列中的值选择从1到该值的子字符串。这将使查询更简单,并可能提高查询性能?

在mySQL中查找分页符标记的操作可能与在PHP中丢弃其余数据一样昂贵。我个人会坚持使用PHP。注意,但在代码维护方面,我觉得最好将其全部打包到SQL语句中。+1:我就是这么想的-只是一个简单的子字符串,使用POSITION或LOCATE。。。它的格式甚至像我写的一样!有没有一种方法可以处理可能没有分页符的短输入?这不是我在测试中看到的。似乎如果没有分页符,则返回一个空字符串。@Chris Sobolewski:My bad,POSITION将在未找到文本时返回零。因此,如果在适当的子字符串列中有分页符,则需要一个CASE语句来拆分处理。
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