我有一个MySQL数据库,其中有一个表,项目ID分配给一个类别和子类别除以点(请参阅下面的插入链接)。如果可能的话,我需要将列category.subcategory分成2列:类别和子类别,如图中所示。有可能吗?
基本上我想转换它:
Item ID Category.Subcategory
2526 CategoryA.SubcategoryB
2527 CategoryC.SubcategoryD
在此中,保留ID及其对应的类别和子类别
Item ID Category Subcategory
2526 CategoryA SubcategoryB
2527 CategoryC SubcategoryD
提前谢谢!
答案 0 :(得分:2)
使用以下查询:
select `Item ID`, substring_index(Category.Subcategory,'.',1) as Category,
substring_index(Category.Subcategory,'.',-1) as Subcategory
from YourTable;
它使用SUBSTRING_INDEX()
函数,该函数在指定的分隔符出现次数之前返回给定字符串中的子字符串。
-1
返回最终分隔符右侧的子字符串(第一个分隔符)
语法为:SUBSTRING_INDEX(str, delim, count)