【问题标题】:Is there a way to separate a column into two? [duplicate]有没有办法将一列分成两部分? [复制]
【发布时间】:2014-06-30 20:01:33
【问题描述】:

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

专栏是这样的

BRAND/PRODUCT

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

谢谢

【问题讨论】:

标签: mysql


【解决方案1】:

使用LOCATE 查找/,并使用SUBSTR 获取字符串前后的部分。

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

【讨论】:

    【解决方案2】:

    本质上拆分字段值。第一个中的“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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-16
      • 1970-01-01
      • 2020-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-08
      相关资源
      最近更新 更多