mysql函式提取字串中的數字

2021-10-12 07:00:01 字數 1116 閱讀 6938

建立函式(直接執行sql):

delimiter $$

drop function if exists `getnum` $$

-- text要根據自己的字串大小來定

create function `getnum` (varstring text) returns text charset utf8mb4

begin

declare v_length int default 0

; declare v_tmp varchar (

50) default ''

; set v_length =

char_length

(varstring)

; while

v_length >

0 do if (

(ascii

(mid

(varstring, v_length,1)

)>

47 and ascii

(mid

(varstring, v_length,1)

)<58)

-- 判斷可以=

46就是包含了.,小數

orascii

(mid

(varstring, v_length,1)

)=46)

then set v_tmp =

concat

(v_tmp,

mid(varstring, v_length,1)

);end if ;

set v_length = v_length -1;

end while ;

return reverse

(v_tmp)

;end $$

delimiter ;

select getnum

('哈哈4554嗯嗯'

);

這種方式始終會有弊端:

比如:下邊這種還是提取不了的。

1048.23(其中占用水田7等、8等分別是63.77畝和918.10畝,水澆地7等、8等分別是29.71畝和36.60畝

提取 字串中 數字

include include include void main l if find break 有數字則退出迴圈 else printf 沒有數字 請重新輸入 n gets c 沒有則重新出入 l strlen c l strlen c printf 字串長度為 d n l for i 0 i ...

提取字串中的單詞

函式原型 char strtok char string,char const delimiter 引數說明 string指向需要被分割的字串,delimiter指向分割字串 string使用的限定符。函式返回乙個分割出來的子字串指標。注意每次執行該函式的時候只會返回乙個分割出來的字串,如果需要返回...

提取字串substring

substring 方法用於提取字串中介於兩個指定下標之間的字元。語法 stringobject.substring startpos,stoppos 引數說明 注意 1.返回的內容是從 start開始 包含start位置的字元 到 stop 1 處的所有字元,其長度為 stop 減start。2....