【发布时间】:2014-06-30 20:01:33
【问题描述】:
有没有办法将一列分成两列?
专栏是这样的
BRAND/PRODUCT
我想将它们插入 2 个新列 BRAND 和 PRODUCT
谢谢
【问题讨论】:
-
表格每一行的BRAND和PRODUCT值之间是否有\?
标签: mysql
有没有办法将一列分成两列?
专栏是这样的
BRAND/PRODUCT
我想将它们插入 2 个新列 BRAND 和 PRODUCT
谢谢
【问题讨论】:
标签: mysql
使用LOCATE 查找/,并使用SUBSTR 获取字符串前后的部分。
UPDATE table
SET brand = SUBSTR(brand_product, 1, LOCATE('/', brand_product)-1),
product = SUBSTR(brand_product, LOCATE('/', brand_product)+1)
【讨论】:
本质上拆分字段值。第一个中的“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
【讨论】: