【发布时间】:2011-10-02 19:08:13
【问题描述】:
我想将 MYSQL 中的字符串字段长度限制在一定长度,但我不希望发生任何切词。
当我这样做时:
SELECT SUBSTRING('Business Analist met focus op wet- en regelgeving', 1, 28)
我得到这个作为输出:
Business Analist met focus o
但我愿意
Business Analist met focus
如何执行 28 个字符的限制,但又能防止切词?当然,[在此处插入选择的编程语言]很容易;-),但我想知道在 MYSQL 中是否可以通过简单的语句来实现。
【问题讨论】:
-
您正在 MySQL 中寻找“自动换行”。有点。
-
这里需要逻辑。换句话说,您需要一个 if 语句。如果 MySQL 支持 if,则使用 that,否则,没办法
-
我认为这对 mysql 来说是相当昂贵的操作。只需在您使用的任何编程语言中砍掉这个词并在以后摆脱它。
-
@keymone 并非如此,请参阅sitepoint.com/mysql-mistakes-php-developers 的第 5 点(5. 优先使用 PHP 而不是 SQL)
-
@bicycle 在你的 PHP 中实现 AVG 和做子字符串是有区别的。很有可能,如果您正在执行子字符串,则无论如何您都需要在 php 中执行其他更复杂的操作。