使用mysql将值拆分并将拆分的值放入两个不同的列

时间:2019-01-20 08:25:17

标签: mysql

我要拆分两个值,该值用乘法符号分隔,例如“ 12X36”,拆分后它应在一列中得到12,一列中得到36,即从这些数字中删除的“ X”符号在单独的列中获得最终值Mysql中的每条记录

SELECT SUBSTRING_INDEX('12X36','X',2) 

但这是消除'X',我想在单独的列中显示12,在单独的列中显示36,但不知道进一步的步骤

预期输出:

1) 12X36
2) 23X40

column1         column2
  12             36
  23             40

获取输出

SUBSTRING_INDEX('12X36','X',2)

12

2 个答案:

答案 0 :(得分:0)

有很多方法。一种是locate() 'X'substring()周围。

SELECT substring('12X36', 1, locate('X', '12X36') - 1),
       substring('12X36', locate('X', '12X36') + 1)

答案 1 :(得分:0)

如前所述,有很多方法。这是使用LEFT和RIGHT的一种

SELECT LEFT('12X36', LOCATE('X', '12X36') - 1), RIGHT('12X36', LOCATE('X', '12X36') - 1)

和一个使用reg exp的字符,这里的子字符串是从开头(以^表示)到一个非数字以及从最后一个正午数字到字符串结尾(以$缩进)之间的所有数字的所有数字。 / p>

SELECT REGEXP_SUBSTR('12X36', '^[0-9]*'), REGEXP_SUBSTR('12X36', '[0-9]*$')