有没有办法将一个列分成两个?

时间:2014-06-30 20:01:34

标签: mysql

有没有办法将列分成两个?

该栏就像这样

BRAND/PRODUCT

我想将它们插入2个新栏目BRAND和PRODUCT

由于

2 个答案:

答案 0 :(得分:8)

使用LOCATE查找/SUBSTR以获取字符串前后的部分内容。

UPDATE table
SET brand = SUBSTR(brand_product, 1, LOCATE('/', brand_product)-1),
    product = SUBSTR(brand_product, LOCATE('/', brand_product)+1)

答案 1 :(得分:3)

基本上拆分字段值。 " 1"在第一个文本段中," -1"在第二个中获取最后一个文本段。

UPDATE `table` 
  SET `brand`   = SUBSTRING_INDEX(`brand_product`, '/', 1), 
      `product` = SUBSTRING_INDEX(`brand_product`, '/', -1);

输出:

| brand_product | brand | product |
+---------------+-------+---------+
| one/two       | one   | two     |

请参阅:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index