如何解决字符串按长度截短,但不允许切碎单词
让@str
是你的字符串,并@len
在初始位置进行切割。然后,必要的步骤可能是:
-
取的最左边
@len
字符@str
。 -
反转子字符串。
-
在反向子字符串中找到第一个空格的位置。
-
1
从该位置减去。但是,如果找不到空间,请保留该位置0
。 -
从中减去找到的位置
@len
并调用它cutpos
。 -
以as的第一个(最左边)
cutpos
字符@str
为例str1
,将所有其他字符(从开始cutpos+1
)为asstr2
。SELECT LEFT(str, cutpos) AS str1, SUBSTRING(str, cutpos + 1) AS str2 FROM ( SELECT @str AS str, @len - IFNULL(NULLIF( LOCATE(‘ ‘, ), 0) - 1, 0) AS cutpos ) s
解决方法
我想将MYSQL中的字符串字段长度限制为一定的长度,但是我不希望发生任何切碎的单词的情况。
当我做:
SELECT SUBSTRING('Business Analist met focus op wet- en regelgeving',1,28)
我得到这个作为输出:
Business Analist met focus o
但是我想
Business Analist met focus
如何强制执行28个字符的限制,但又不能切碎单词呢?当然,在[这里选择插入的编程语言] ;-)中很容易,但是我想用一条简单的语句知道在MYSQL中是否可行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。