mysql加省略号,MySQL用省略号截断文本

Suppose I have a MySQL table of one column: "Message". It is of type TEXT.

I now want to query all rows, but the text can be large (not extremely large but large) and I only want to get a summary of them. For example the result can be populated into a list.

Is there a way to trim the text to a specific length (say, 10 characters), and add ellipsis if the text is trimmed?

For example:

Message

-----------

12345678901234

1234567890

12345

12345678901

Query result:

1234567...

1234567890

12345

1234567...

Thanks!

解决方案select case when length(message) > 7

then concat(substring(message, 1, 7), '...')

else message end as adapted_message

from ...

to test/confirm:

SELECT CASE WHEN LENGTH('1234567890') > 7

THEN CONCAT(SUBSTRING('1234567890', 1, 7), '...')

ELSE '1234567890' END AS adapted_message

UNION

SELECT CASE WHEN LENGTH('12345') > 7

THEN CONCAT(SUBSTRING('12345', 1, 7), '...')

ELSE '12345' END AS adapted_message

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值