需要在MySQL中从一个单词到结尾删除部分字符串

时间:2013-06-21 02:00:20

标签: mysql

好的,我有麻烦,我不知道还有什么要看的。我有一个数据库,其中包含一个名为“tasks”的表。这是一个名为“description”的列,其中包含涉及字符串的字段。

这些描述很长,每个都有这种格式:       1 2 3 独特的描述“但我想提醒你......”独特的文字

我需要从每个描述中删除第二部分到字符串的结尾。

所以我需要一个sql查询,它只会删除以“但我想提醒你......”开头的每个字段的部分,直到字符串结尾,只剩下第1部分,唯一的描述。

1 个答案:

答案 0 :(得分:1)

SUBSTRING_INDEX函数适合这类事情:

SELECT SUBSTRING_INDEX(description, ' "But I''d', 1)
FROM tasks

第二个参数是您正在寻找的字符串。 1的第三个参数意味着在第一次出现您要查找的字符串之前返回所有

我只包含了But I'd like to remind you...文字的第一部分。您可以根据需要包含尽可能多的内容,以确保获得正确的效果。

上面的查询将返回描述的第一部分。要更新表格并删除从But I'd like to remind you...到结尾的所有内容,只需将表达式放入UPDATE

UPDATE tasks
SET description = SUBSTRING_INDEX(description, ' "But I''d', 1)