好的,我有麻烦,我不知道还有什么要看的。我有一个数据库,其中包含一个名为“tasks”的表。这是一个名为“description”的列,其中包含涉及字符串的字段。
这些描述很长,每个都有这种格式: 1 2 3 独特的描述“但我想提醒你......”独特的文字
我需要从每个描述中删除第二部分到字符串的结尾。
所以我需要一个sql查询,它只会删除以“但我想提醒你......”开头的每个字段的部分,直到字符串结尾,只剩下第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)