首页 > 文章专栏 > 帝国cms > 帝国CMS批量提取新闻内容的第一张图片为标题图片的SQL语句

帝国CMS批量提取新闻内容的第一张图片为标题图片的SQL语句

2021-09-21 01:01:48|作者:帝国CMS

帝国CMS批量提取新闻内容的第一张图片为标题图片的SQL语句

根据SQSL语句大批量提取新闻内容字段名newstext的第一张图片为标题图片,针对文章内容实体模型的內容存文字的情形下失效。

执行流程:系统软件-数据库查询备份与还原-执行SQL语句中执行下列语句,留意请一定要提早备份数据以防万一,由于字段名存的表的不一样因此区别执行语句,下边以新闻报道实体模型为例子。

新闻报道正文本段做为主表的状况用下列语句:

update[!db.pre!]ecms_newssettitlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(newstext,'src=',-1),'.gif',1),'"',''),'.gif')wherenewstextlike'%.gif%'andtitlepic='';

update[!db.pre!]ecms_newssettitlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(newstext,'src=',-1),'.jpg',1),'"',''),'.gif')wherenewstextlike'%.jpg%'andtitlepic='';

update[!db.pre!]ecms_newssettitlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(newstext,'src=',-1),'.png',1),'"',''),'.png')wherenewstextlike'%.png%'andtitlepic='';

新闻报道正文本段做为副表的状况用下列语句:

update[!db.pre!]ecms_news_data_1a,[!db.pre!]ecms_newsbsetb.titlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(a.newstext,'src=',-1),'.gif',1),'"',''),'.gif')wherea.newstextlike'%.gif%'andb.titlepic=''anda.id=b.id;

update[!db.pre!]ecms_news_data_1a,[!db.pre!]ecms_newsbsetb.titlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(a.newstext,'src=',-1),'.jpg',1),'"',''),'.jpg')wherea.newstextlike'%.jpg%'andb.titlepic=''anda.id=b.id;

update[!db.pre!]ecms_news_data_1a,[!db.pre!]ecms_newsbsetb.titlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(a.newstext,'src=',-1),'.png',1),'"',''),'.png')wherea.newstextlike'%.png%'andb.titlepic=''anda.id=b.id;

留意的是有标题图片了的也会被提取第一张图片,执行无差。

之上便是帝国CMS大批量提取新闻内容的第一张图片为标题图片的SQL语句。

推荐下载