将列中的所有字符串剪切为指定数量的字符,不要切断单词

时间:2013-05-28 13:55:01

标签: mysql string cut

我需要找到一种方法将指定列的所有条目减少到特定数量的字符,比方说100,但是没有砍字,这在mysql 5.0中是否可行?我不是程序员,任何人都可以帮我这个吗?编辑:我还需要更新所有行,而不仅仅是选择。

2 个答案:

答案 0 :(得分:2)

让我描述一下你需要做的事情:

  1. 仅考虑字符串
  2. 中的前101个字符
  3. 找到此字符串中的最后一个空格。这是字符串反向的第一个空格。
  4. 取101-那个位置的字符串。
  5. 这是MySQL中的代码:

    select left(val, 100+1 - instr(reverse(left(val, 100+1)), ' '))
    

答案 1 :(得分:0)

我可能会尝试这样的事情:

SELECT left(line, 100 - locate(' ' ,reverse(left(line, 100))))
FROM lines;

如果是表格,则行是特定列,100是所需行的长度。

编辑:

如果您想要更新它们(我们不建议这样做),那么您将使用一个简单的更新声明:

UPDATE lines
SET line = left(line, 100 - locate(' ' ,reverse(left(line, 100))));