MySQL 用省略号截断文本
假设我有一个 MySQL 表,其中有一列:“消息”。它是 TEXT 类型。 我现在想查询所有行,但文本可能很大(不是很大,但很大),我只想获取它们的摘要。例如,可以将结果填充到列表中。
有没有办法将文本修剪到特定长度(例如 10 个字符),并在文本被修剪时添加省略号?
例如:
Message
-----------
12345678901234
1234567890
12345
12345678901
查询结果:
1234567...
1234567890
12345
1234567...
谢谢!
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!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
测试/确认:
to test/confirm:
这是一个简单的单行解决方案:
Here's a simple one line solution:
或者...
or...
您可以声明一个新的 ELLIPSIS 函数以使您的查询可读:
然后您只需执行以下操作:
You can declare a new
ELLIPSIS
function in order to make your query readable:Then you simply do:
查看此处记录的 MySQL 字符串函数。您应该能够使用
substring
和concat
的某种组合来实现您想要的行为。Have a look at the MySQL string functions, documented here. You should be able to use some combination of
substring
andconcat
to achieve your desired behaviour.我的方法:
My approach: