dstd2129 2014-07-20 22:49
浏览 23
已采纳

根据REGEX将mysql列值拆分为2列

i have a table that looks like this

ID   | VALue   |
1    | Cap 120 |
1    | Sack 100 |
3    | etc.. 100 |

and i need to move digits in this column to a single column of its own so for above example it would be like

ID   | VALue    |  number |
1    | Cap  | 120     |
1    | Sack | 100     |
3    | etc..| 50      |

is it possible with mysql ? or do i Have to do an php solution to fix my table ?

thanks in advance

  • 写回答

2条回答 默认 最新

  • duankuai6991 2014-07-20 23:07
    关注

    This will handle more than one space, example "Cap Dap" (without chopping it to just "Cap")

    select 
    substring_index(value,' ',length(value) - length(replace(value, ' ', ''))) as value, 
    substring_index(value,' ', -1) as num from tbl;
    

    Example, with a row having more than one spaces: http://sqlfiddle.com/#!2/9dc2f/5/0

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图
  • ¥30 乘子法解约束最优化问题的matlab代码文件,最好有matlab代码文件
  • ¥15 写论文,需要数据支撑