我的博客中有8万个节点,我只想选择博客中没有图片的正文。
我试过了

 select * from field_data_field_body where (field_body_value like '<img%>' or field_body_value like '<p><img%/></p>');


但是我想确保我抓住了只有图像主体的所有节点。

有没有更好的办法?

更新
这是一些身体价值的例子:

<img width=\"120\" vspace=\"5\" hspace=\"5\" height=\"90\" border=\"0\" align=\"left\" src=\"/static/video/missiles.jpg\" /> <h2><a href=\"/items/itembody/200410290009\">Some tests value </a></h2>

<p><img src=\"/static/images/home/205/rove-205.JPG\" /></p>    <--need these

<img src=\"/static/images/90billion.jpg\" class=\"post-right\" width=\"450\" height=\"246\" /></p>\n<p>The media declared</a> one of the top last night</p>

while <p><img src=\"/static/images/hornerb.jpg\" width=\"645\" height=\"337\" /></p>\n<p>An independent report has all but destroyed one of the right\'s most cherished \"scandals,\" </p>

<p><img src=\"/static/images/205/rove-205.JPG\" /></p>    <--need these

最佳答案

如果您的field_body_value只是可能包含标记的HTML长字符串,并且您想在字段中的任何位置查找包含该标记的行,则此方法应该起作用。
您必须在要查找的值之前和之后都使用通配符,因为它可能出现在文本中的任何位置。

select * from field_data_field_body where field_body_value like '%<img%';

10-01 07:29