mysql - 如果字符串超过 10 个单词,则添加点

标签 mysql sql

我想通过获取前 10 个单词来返回我的文本预览。

concat(SUBSTRING_INDEX(q.value, ' ', 10), '...') AS preview

当字符串很长时,这很有效。但当字符串较短时不应添加(因为没有更多内容)。

是否可以使用 100% mysql 执行此操作?

最佳答案

你可以使用case:

select (case when substring_index(q.value, ' ', 10) = q.value
             then q.value
             else concat(substring_index(q.value, ' ', 10), '...')
        end)

关于mysql - 如果字符串超过 10 个单词,则添加点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35235718/

相关文章:

mysql - 如何一次将批量数据插入数据库?

mysql - 管理大型 "work queues"/"input queues"的最佳方法?

SQL Server JOIN 缺少 NULL 值

sql - ORACLE APEX 使用 LEFT JOIN 删除行

c# - DISTINCT 关键字不适用于 sql server 中的图像数据类型

MySQL - 检查唯一约束的顺序

php注册mysql不是有效资源

mysql - MySQL 中的每月日期

mysql - 编写 Select 查询以从一个表中扣除另一个表

mysql - 被禁止用户的单独表格?