MySQL:如何拆分由管道和分号分隔的长文本

时间:2015-12-14 16:20:07

标签: mysql database delimiter string-split

我有一个类型为字符串的列,我们在此字段中保存了所有大小和价格,它由管道和分号分隔,如下所示

10;100|11;111|12;112|13;130|14;130|15;105

我希望在此字段中获得最低价格(价格;尺寸为10是尺寸,1502是价格)。

我使用了这个查询,但它只返回其中一个,而不是最小的

select SUBSTRING_INDEX((textColumn), '|', 1) as sizeAndprice from myTable;

1 个答案:

答案 0 :(得分:0)

如果结构可以改变,我建议这样做 但是,如果无论如何都无法更改,我会按原样获取整行,并使用explode()函数:

/* fetch the whole column as string in a variable ($myWholeText for this example) */
$mySplitColumns = explode ("|", $myWholeText );

然后,您将在$ mySplitColumns数组的单独索引中包含所有拆分值(价格和大小),并且您可以根据需要对它们进行排序。

有关爆炸功能的更多参考,请查看this link