我有一个MySQL数据库,它有一个表,表中的项目ID被分配给一个类别和子类别,除以一个点(请参阅下面插入的链接)。如果可能的话,我需要将列category.subcategory分为两列:category和subcategory,如图所示。有可能吗?
mysql - 使用模式划分列-LMLPHP
基本上我想把这个转换成:

Item ID     Category.Subcategory
2526        CategoryA.SubcategoryB
2527        CategoryC.SubcategoryD

其中,保留ID及其对应的类别和子类别
Item ID    Category     Subcategory
2526       CategoryA    SubcategoryB
2527       CategoryC    SubcategoryD

提前谢谢你!

最佳答案

使用以下查询:

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)

07-24 09:37
查看更多