从单词 - MySql开始切割一个字符串

时间:2016-01-15 19:32:34

标签: mysql

我有一个表product_info,其中包含一个名为' description'的字段。有一些行像“blablabla大小什么 - 什么'”。现在我想切出实际尺寸(' what-what')并将其放入一个名为' size'的新领域。

我试过了:

UPDATE product_info
SET size=SUBSTRING(description, "sizes"+1)
WHERE description LIKE '%sizes%';

它似乎并没有起作用 - 它复制了描述中的所有内容,整个' blablabla大小什么是什么'。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

substring接受一个字符串和一个位置SUBSTRING(str,pos),但是你传递一个字符串+ 1,只有众神知道传递了什么值。

您需要的是将它与INSTR一起使用

INSTR(str,substr)返回字符串str中第一次出现的substring substr的位置。

更新product_info SET size = SUBSTRING(描述,INSTR(描述,"尺寸")) 描述类似于'%尺寸%&#39 ;;

现在要记住两件事。

  1. 你的大小其余的字符串已经消失了,你需要在说再见之前坚持
  2. 我没有彻底地测试这个,所以我不确定当没有大小时会发生什么,因为INSTR会返回0