首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql查询,仅获取段落中的第一个句子

mysql查询,仅获取段落中的第一个句子
EN

Stack Overflow用户
提问于 2013-06-21 01:01:24
回答 2查看 227关注 0票数 0

我试图复制mysql数据库中元描述标签的产品描述段落中的第一句话。例如。在这个产品描述中,我只需要将第一句话从products_description字段复制到products_meta_description字段。

Kendall Howard 8U紧凑型系列SOHO服务器机柜机架是空间有限的IT设置的理想选择。这种时尚、耐用的设计是专门为小型企业、家庭办公室或IT专业人员设计的,他们希望在不牺牲服务器机架设备安全性的情况下实现紧凑设计。

应该复制到products_meta_description:“肯德尔霍华德8U紧凑型系列SOHO服务器机柜机架是空间有限的IT设置的理想选择。”

代码语言:javascript
复制
UPDATE products SET products_meta_description = products_description(1st sentence only)

不知道该怎么做。我假设它已经找到了第一个句点(.)在段落中找到,然后获取之前的所有内容。顺便说一句,我是在phpmyadmin sql查询工具中这样做的。有数以千计的产品,所以我认为这将是最简单的方式来让每个产品输入一个罐头元描述标签,而不是手动输入。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-21 01:07:15

MySQL的SUBSTRING_INDEX函数非常适合这样做:

代码语言:javascript
复制
UPDATE products
SET products_meta_description = SUBSTRING_INDEX(products_description, '.', 1)

这将为您提供第一个阶段之前的所有内容。如果你也想要句点,最简单的方法就是将它CONCAT到结果中:

代码语言:javascript
复制
UPDATE products
SET products_meta_description = CONCAT(SUBSTRING_INDEX(products_description, '.', 1), '.')
票数 3
EN

Stack Overflow用户

发布于 2013-06-21 01:19:03

MySQL的函数SUBSTRING_INDEX可以帮助您:

代码语言:javascript
复制
UPDATE products SET products_meta_description = SUBSTRING_INDEX(products_description, '.', 1)

此查询应使用来自"products_description“字段的文本更新"products_meta_description”字段,直到第一次出现“‘”为止。

句号没有包括在内,所以如果你需要它,你必须通过连接字符串来添加它(第一个参数是一个空分隔符)。

代码语言:javascript
复制
UPDATE products SET products_meta_description = CONCAT_WS('', SUBSTRING_INDEX(products_description, '.', 1), '.')

资料来源

  • http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_substring-index
  • http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_concat-ws
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17219558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档