簡體   English   中英

根據REGEX將mysql列值分為2列

[英]split an mysql column value into 2 columns based on REGEX

我有一張看起來像這樣的桌子

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解決方案來修復我的桌子?

提前致謝

如果總是正好有1個空格,並且介於數值和數字之間,那么您可以使用下面的查詢。

SELECT 
SUBSTRING_INDEX(value,' ',1) as value
SUBSTRING_INDEX(value,' ',-1) as number
FROM myTable

這將處理多個空間,例如“ 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM