我有一张看起来像这样的表
ID | VALue |
1 | Cap 120 |
1 | Sack 100 |
3 | etc.. 100 |
我需要将此列中的数字移动到它自己的单个列中,因此对于上面的例子,它就像
ID | VALue | number |
1 | Cap | 120 |
1 | Sack | 100 |
3 | etc..| 50 |
可以用mysql吗?或者我必须做一个PHP解决方案来修复我的表?
提前致谢
答案 0 :(得分:2)
如果始终只有1个空格并且它在值和数字之间,那么您可以使用下面的查询。
SELECT
SUBSTRING_INDEX(value,' ',1) as value
SUBSTRING_INDEX(value,' ',-1) as number
FROM myTable
答案 1 :(得分:2)
这将处理多个空格,例如“Cap Dap”(不会将其切换为“Cap”)
select
substring_index(value,' ',length(value) - length(replace(value, ' ', ''))) as value,
substring_index(value,' ', -1) as num from tbl;
示例,行包含多个空格: http://sqlfiddle.com/#!2/9dc2f/5/0