MySQL 從字符串字段中提取數值的方法
個人記錄
由於百度搜索結果大部分都是寫函數進行轉換,個人感覺太繁瑣,從網上收集了以下方法,已測試過,可行。
需求描述:有一個公司信息表(r_supplier),其中有一個字段(register_capital)是公司的註冊資本,需要提取前面的數字進行條件判斷。如圖所示:
一、使用 CAST() 方法
CAST(expr AS type)
- expr:字段
- type:需要轉換成什麼類型
sql:SELECT CAST(s.register_capital AS UNSIGNED) from r_supplier s;
1.示例
二、使用負號進行轉換:-(- 字段)
sql:SELECT -(-s.register_capital) from r_supplier s;
1.示例
2.如果字段中不包含數字,會變成0
三、總結
測試時發現第一次執行第一個方法的時候會有點慢,不過後面經過測試,兩種方法執行都差不多,可能是因爲第一次處理數據的原因