我有一个列,其中有一个字符串,如下所示
Data
black83736
white87
white893
pink82928
pink1
black27
...
...
我只想从该列中取出数字。
编辑
我更喜欢mysql解决方案
最佳答案
试试这个 mysql 解决方案: (更新)
SELECT replace(reverse(FORMAT(reverse(COLUMN_NAME), 0)), ',', '') as number from TABLE_NAME;
这适用于您的特定情况,您希望最后得到数字。
所以首先我们
反转
,所以数字从头开始
format
,所以去掉了字母,format用于格式化指定小数位的数字,这里我们指定为0。
再次反转
-> 得到原数
replace
',' to '' -> 去除第二步格式化的影响。
**
(更新)
** 上述解决方案不适用于以 0 结尾的数字(感谢 karolis 的告知)
因此
SELECT replace(replace(reverse(FORMAT(reverse(concat(numbers, '9099')), 0)), ',', ''), '9099', '') as number from test1;
这里我们在数字的末尾附加 '9099',然后在最后删除 9099。
9099 ?只是一个极不可能出现在您的列中的数字
关于php - 如何从字符串中提取数字部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7600974/