我要拆分两个值,该值用乘法符号分隔,例如“ 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
答案 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]*$')