SQL从列末尾删除部分字符串

Joh*_*DOe 0 mysql sql truncate

我知道每一栏的结尾

让我们说它"马铃薯"

有没有办法,从每一栏中删除"马铃薯"

我知道

CONCAT添加到一个列,但如果我知道那里有什么,我如何从最后删除

Ker*_*mit 8

UPDATE someTable SET someColumn = REPLACE(someColumn, 'Potato', '')
WHERE someColumn LIKE '%Potato'
Run Code Online (Sandbox Code Playgroud)

看演示

  • 这不会导致“马铃薯”的所有出现都被切断吗?就像“我的马铃薯与众不同”将是“我的马铃薯与众不同” (2认同)
  • 我编辑了你的演示来展示我的意思:http://sqlfiddle.com/#!2/d44733/1/0 (2认同)

Ang*_*chs 5

请阅读以下内容:http : //dev.mysql.com/doc/refman/5.0/en/string-functions.html

您可以使用该LEFT函数来摆脱字符串的结尾。'Potato'有6个字符,因此该语句将列中所有条目的内容减少6个字符。

UPDATE table
SET column =
    LEFT(column, LENGTH(column)-6)
WHERE column LIKE '%Potato';
Run Code Online (Sandbox Code Playgroud)

演示